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

 

posted @ 2020-08-13 16:47  荭枫  阅读(467)  评论(0)    收藏  举报