游戏人生
首页
(current)
GameDevTools
登陆
|
注册
个人中心
注销
Docker教程
Introduction
Introduction
1. 使用Docker简化运维工作
1. 使用Docker简化运维工作
1.1 创建Docker镜像
1.2 使用阿里云私有Docker仓库
1.3 自己搭建私有镜像库
1.4 Docker常用命令
1.5 Docker常见错误
目录
<< 1.3 自己搭建私有镜像库
1.5 Docker常见错误 >>
## 1.4 Docker常用命令 启动docker systemctl start docker 守护进程重启 systemctl daemon-reload 重启docker systemctl restart docker 或 service docker restart 关闭docker service docker stop 或 systemctl stop docker 列出本地所有镜像 docker images 从仓库下载镜像 docker pull centos 将容器保存镜像 docker commit -m="install lnmp" 8c8bf78ef1ac chenpeng/centos_lnmp:v1 -m 修改日志 8c8bf78ef1ac 刚才创建的容器的id chenpeng/centos_lnmp:v1 用户/新的镜像名:版本 列出所有容器 docker ps -a 列出当前后台运行的容器 docker ps 删除容器 docker rm 容器id 删除镜像 docker rmi 镜像id 从镜像创建容器 并进入系统 映射端口 docker run -t -i -p 8001:80 -p 8002:3306 chenpeng/centos_lnmp:v1 上传文件到镜像 # 格式为 docker cp 文件路径 容器id:/容器目录 docker cp ./lnmp1.5-full.tar.gz 9d0a216cf665:/root 从容器下载文件到本地 # 从容器下载文件 docker cp 容器id:/容器目录 文件保存路径 docker cp 9d0a216cf665:/root/lnmp1.5-full.tar.gz ./ 启动容器 docker start 9d0a216cf665 进入启动容器后的默认Bash docker attach 9d0a216cf665 这个命令只适用于进入 启动容器后 默认的那个bash。 如果容器里面运行了ping 等前台进程,就attach不上去,输入完命令后需要Ctrl+C停止ping才行。 在这种情况下 需要使用新命令 进入容器 新建Bash docker exec -it 9d0a216cf665 /bin/bash 注意这个命令 类似于Screen新开一个bash。 所以用完一定要exit,不然是不会关闭的,占着内存。 比如我们新开一个bash窗口,运行ping 命令,然后ctrl+p+q 到后台运行。 然后再开一个窗口,top命令,会发现前面窗口的 ping 是在运行的。 想要停止前面窗口,只能kill 之前的bash pid。 但是很难知道之前的bash pid是多少。 所以用完一定要exit,不然是不会关闭的,占着内存。 停止容器 docker stop 9d0a216cf665 让容器后台运行 快捷键 ctrl+p+q 获取容器IP docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 3133401a3058 获取容器端口映射 docker port 3133401a3058 iptables删除端口映射 很多时候可能创建容器的时候,端口映射填错了,后面需要修改。 首先获取容器IP 然后获取iptables所有端口映射规则 iptables -t nat -nL --line-number 找到如下 所有DOCKER规则 Chain DOCKER (2 references) num target prot opt source destination 1 RETURN all -- 0.0.0.0/0 0.0.0.0/0 2 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:172.17.0.2:80 删除指定DOCKER规则 这里是第2条 主机80->容器 127.17.0.2:80 iptables -t nat -D DOCKER 2 iptables添加端口映射 --本机80 映射到容器8000 iptables -t nat -A DOCKER -p tcp --dport 80 -j DNAT --to-destination 172.17.0.2:8000 iptables -t nat -A POSTROUTING -j MASQUERADE -p tcp --source 172.17.0.2 --destination 172.17.0.2 --dport 8000 iptables -A DOCKER -j ACCEPT -p tcp --destination 172.17.0.2 --dport 8000 <font color=red>需要注意的是,通过ipatables 添加的端口映射,在docker ps命令中不会显示</font>
<< 1.3 自己搭建私有镜像库
1.5 Docker常见错误 >>
12
目录
Introduction
Introduction
1. 使用Docker简化运维工作
1. 使用Docker简化运维工作
1.1 创建Docker镜像
1.2 使用阿里云私有Docker仓库
1.3 自己搭建私有镜像库
1.4 Docker常用命令
1.5 Docker常见错误