docker 已有镜像修改更新

1) docker images # 列出所有镜像

以wiscan/wiscan_server:3.2.0 为例,修改生成wiscan/wiscan_server:3.3.0

2) docker run -it --name my_test wiscan/wiscan_server:3.2.0 /bin/bash

#生成容器并进入容器,容器名为 my_test

 

3) 在容器中修改想要修改的东西, 完成后退出容器(exit 或Ctrl+D)

也可以将容器外的文件复制到容器内,安装某些工具包等(如pip install ...),如下:

①先退出容器(exit 或Ctrl+D)

② docker ps -a 查看所有容器, 可以看到已存在my_test容器

③ docker cp my_file my_test:/root/             # 将my_file复制到容器内的/root目录下(下图复制的是docker-compose.yml文件

 

④docker start my_test # 启动已存在的(但是暂停的)容器my_test

 

docker ps                   # 可查看已启动的容器   (docker ps -a  是查看所有容器,包括已停止的容器)

⑤ docker exec -it my_test /bin/bash            # 进入容器

cd /root/                                                        # 进到root目录下

ll                                                                   # 可以看到my_file已复制进来

 

⑥确保修改完成后,退出容器(exit 或Ctrl+D)

4)docker commit my_test wiscan/wiscan_server:3.3.0      # 将修改后的容器上传为镜像,命名为wiscan/wiscan_server:3.3.0 ,(其中冒号后3.3.0为标签)

5)docker images # 查看所有镜像,可以看到新镜像已生成

 

另外:

可 打包镜像tar包,如下

docker save wiscan/wiscan_server:3.3.0 > ./wiscan-wiscan_server_3.3.0.tar

ll                                          # 可以看到新镜像包已打包到当前目录下

 

在新的机器上,可以通过下面命令,导入改镜像

docker load < ./wiscan-wiscan_server_3.3.0.tar                        # 导入当前目录下的镜像

 

可 删除测试容器

docker stop my_test           # 停止容器

docker rm my_test             # 删除容器(必须先停止容器才能删除)

 

可 删除测试镜像

docker rmi wiscan/wiscan_server:3.3.0

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐