Docker:将运行中的 docker 容器保存为 docker 镜像并保存到本地tar包「仅验证打包部分」

1. 将运行中的 docker 容器保存为 docker 镜像并保存到本地tar包

1、docker commit <容器id> <镜像名>:<tag>     ---- 将容器保存成镜像,tag比如说latest
 
保存后 docker images 便可以看到镜像
 
2、docker save -o <tar包名>.tar <镜像名>:<tag>      ---- 将镜像保存为.tar文件,默认保存在当前目录

2.从 tar 包导入docker镜像

1、docker load -i <tar包名>.tar     ---- 从 tar 包导入镜像
 
导入镜像后,通过 docker images 便可看到导入的镜像。
 
2、docker run -itd -p <本地端口>:<容器端口> <镜像名>:<tag>    ---- 通过镜像起容器

案例「仅保存到tar包」

charlieli@Charlies-MBP ~ % docker commit 25d78c6caeeb myqinglong:qinglong
sha256:c74fa9cd47eec1799b95d4237abdf7801dd4754bb6e6b61ce2032a45e3d42832
charlieli@Charlies-MBP ~ % docker images
REPOSITORY        TAG        IMAGE ID       CREATED          SIZE
myqinglong        qinglong   c74fa9cd47ee   38 seconds ago   631MB
whyour/qinglong   latest     5997b3824cbe   4 months ago     434MB
node              latest     a283f62cb84b   5 months ago     993MB
charlieli@Charlies-MBP ~ % cd /*****/*****/appsVolumn
charlieli@Charlies-MBP appsVolumn % docker save -o my_qinglong_full_config.tar myqinglong:qinglong
Docker可以按照以下步骤将配置好的MySQL容器转换成镜像并持久化: 1. **停止并创建镜像**: 首先,确保MySQL容器处于停止状态,然后可以使用`docker commit`命令将其转换为镜像。假设容器ID是`my_mysql_container`,你可以这样做: ``` docker stop my_mysql_container docker commit -m "MySQL with custom config" my_mysql_container my_custom_mysql_image ``` 这里`my_custom_mysql_image`是你自定义的镜像名称。 2. **查看或下载镜像**: 如果你想查看镜像详细信息或分享给其他人,可以使用`docker images`命令,如果想下载到本地,可以使用`docker save`: ``` docker images | grep my_custom_mysql_image docker save -o my_mysql_image.tar my_custom_mysql_image ``` 3. **删除容器**: 删除容器可以用`docker rm`命令,例如: ``` docker rm my_mysql_container ``` 4. **从镜像启动新的容器**: 要恢复MySQL服务,你可以使用`docker run`命令从刚才保存镜像启动新容器: ``` docker run -d --name new_mysql_container -p <host_port>:<container_port> -v <data_volume_path>:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=<password> my_custom_mysql_image ``` `-d`表示后台运行,`-p`用于端口映射,`-v`挂载数据卷存储数据,`MYSQL_ROOT_PASSWORD`设置root用户的密码。 **注意事项**: - `<host_port>` 和 `<container_port>` 分别是主机端口和容器内部使用的端口; - `<data_volume_path>`是你想要存放数据的路径,这样数据会持久化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值