Docker制作自定义镜像
Docker使用基础镜像制作自定义镜像,然后根据自定义镜像生成新的容器。
一、生成自定义镜像
1.Ubuntu安装docker
curl -sSL https://get.daocloud.io/docker | sh
2.Ubuntu获取Debian镜像
sudo docker pull debian
3.根据基础镜像新建容器,并以后台形式运行
sudo docker run -itd --name [容器名称] [镜像名称] [进入容器的方式参数]
eg.
sudo docker run -itd --name debian-test debian /bin/bash
4.进入容器
sudo docker exec -it [容器名称] [进入容器的方式参数]
eg.
sudo docker exec -it debian-test /bin/bash
5.对容器进行自定义操作
...
exit
6.导出容器为自定义镜像
sudo docker export -o [自定义镜像文件名称] [容器名称]
eg.
sudo docker export -o debian-test.img debian-test
二、导入自定义镜像
1.导入自定义镜像
sudo docker import [自定义镜像文件名称] [自定义镜像名称]:[自定义镜像名称标签]
eg.
sudo docker import debian-test.img mydebian:mydebian1
2.根据自定义镜像新建容器,并以后台形式运行
sudo docker run -itd --name [容器名称] [自定义镜像名称]:[自定义镜像名称标签] [进入容器的方式参数]
eg.
sudo docker run -itd --name debian-my mydebian:mydebian1 /bin/bash
4.进入容器
sudo docker exec -it [容器名称] [进入容器的方式参数]
eg.
sudo docker exec -it debian-my /bin/bash
5.对容器进行操作
...
exit
三、进入容器(不带指令)
1.先查询出容器的pid:
docker inspect --format "{{.State.Pid}}" $ContainerName(或者$ContainerId)
2.根据容器的pid进入容器:
nsenter --target "$pid" --mount --uts --ipc --net --pid
四、容器通讯
1.查看容器网络信息:
docker inspect [需要link的容器名称或ID]
2.进入容器可以ping 同一网关下面的容器名称。
ping [需要link的容器名称或ID]
五、删除容器
1)首先需要停止所有的容器
docker stop $(docker ps -a -q)
2)删除所有的容器(只删除单个时把后面的变量改为image id即可)
docker rm $(docker ps -a -q)
四、 docker-compose
1.查看 docker-compose所有容器:
docker-compose -f docker-compose-env.yml ps
2.停止 docker-compose所有容器。
docker-compose -f docker-compose-env.yml stop
3.开始 docker-compose所有容器。
docker-compose -f compose.yml start
4.新建 docker-compose所有容器。
docker-compose -f compose.yml up -d
浙公网安备 33010602011771号