usage-of-docker
Last Update:
Word Count:
Read Time:
Docker Hub (需要配置加速器)
关闭 SELINUX 服务
SELINUX是CentOS系统捆绑的安全服务程序, 因为安全策略过于严格, 所以建议关闭这个服务
修改 /etc/selinux/config文件, 设置SELINUX=disabled
安装:
Centos:
1 |
|
Debain:
1 |
|
CockerHub: 是Docker公共镜像库, 为用户提供了大量的镜像文件
https://hub.docker.com/
由于国内网络访问DockerHub很慢, 无法下载镜像文件,我们可以使用Docker加速器
网易镜像中心:https://c.163.com/hub#/m/home/
docker pull hub.c.163.com/library/tomcat:latest
docker 中科大源: https://lug.ustc.edu.cn/wiki/mirrors/help/docker
安装加速器:
curl -sSl https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
//启动加速器
./acc.sh {“registry-mirrors”: [“http://f1361db2.m.daocloud.io"]}
修改Docker配置文件,去掉逗号
vim /etc/docker/daemon.json
{“registry-mirrors”: [“http://f1361db2.m.daocloud.io"]}
安装python镜像:
docker pull python:3.8
查看镜像:
docker images
查看镜像的详细信息:
docker inspect python:3.8
将镜像导出
docker save python:3.8 > /root/python.tar
删除镜像
docker rmi python:3.8
导入镜像
docker load < /root/python.tar
创建docker容器:
it代表创建一个容器, 后面需要交互, bash交互
docker run -it –name=p1 python:3.8 bash
查看容器
docker ps -a
启动容器
容器名为p1
docker start p1
暂停容器:
docker pause p1
取消暂停容器:
docker unpause p1
使用bash进入p1容器
docker exec -it p1 bash
查看容器详细信息
docker inspect p1
停止容器
docker stop p1
删除容器
必须先停止容器
docker rm p1
Docker 网络
是Docket内的内部网络
默认情况下, Docker环境会给容器分配动态的IP地址,这就导致下次启动容器的时候,IP地址就变了
可以单独创建Docker内部的网段(172.18.0.x)
172.18.0.0/16 表示网络码占16位,也就是说该网络上可以有65534个主机(2^16-2)IP范 围:172.18.0.1~172.18.255.254 172.18.255.255是广播地址,不能被主机使用.设置IP地址的时候:172.18.x.y 子网掩码:255.255.0.0
mynet 是自定义名字
docker network create –subnet=172.18.0.0/16 docker_net
解除容器绑定的网络 网络名词docker_net 容器名称 test
1 |
|
删除原先的网络
1 |
|
创建新的网络
1 |
|
连接新的网络
1 |
|
重新启动容器
1 |
|
注意:
删除某个网段, 删除网段之前, 必须先删除容器
1 |
|
创建容器并指定ip, 而 172.18.0.1是网关地址, 是不能使用的
docker run -it –net mynet –ip 172.18.0.2 python:3.8 bash
查看网段
docker network ls
删除mynet网段
docker network rm mynet
指定某个ip创建容器
docker run -it –name=p1 –net mynet –ip 172.18.0.2 python:3.8 bash
容器端口映射
默认情况下, 除了宿主机之外,任何主机无法访问远程Docker容器
通过端口映射,可以吧容器端口映射到宿主机的端口,这样其他主机就能访问了
映射到宿主机的端口,不需要设置防火墙规则,便可以使用
将容器的5000端口映射到宿主机的9500端口
docker run -it -p 9500:5000 python:3.8 bash
映射多个端口
docker run -it -p 9500:5000 -p 9600:3306 python:3.8 bash
目录挂载在技术
为了能把一部分业务数据保存在Docker环境之外,或者把宿主机的文件传入容器,所以
需要给容器挂载宿主机的目录
Docker环境只支持目录挂载,不支持文件挂载, 且一个容器可以挂载多个目录
将宿主机的/root/test目录挂载到容器的/root/project 目录中
docker run -it -v /root/test:/root/project –name=p1 python:3.8 bash
给docker添加用户组
1 |
|