docker run -t -i /bin/bash 如何保存修改?

 喵喵方小幺 发布于 2022-10-27 06:01

想通过 docker 的 /bin/bash 修改容器内容,commit 新的 image 。

未成功的操作流程如下:

docker run -t -i docker-wordpress-nginx /bin/bash

进入容器bash

vi /etc/nginx/sites-available/default

修改了 nginx 的 conf 文件

exit

退出容器,然后运行

docker ps

什么都没有。运行

docker images

还是原来那些 images。

请问如何保存在 docker 中 bash 所做的修改,如何 commit?

PS1:如何 commit 给新的 image 自动打上 tag latest,并且之前的 latest 作废(替代)?

PS2:假如通过修改和 commit 得到三个版本 tag v1, v2, v3,能否删除 v1, v2 保留 v3?即单独的 images 之间有关联(堆叠)关系吗?

3 个回答
  • 组合键:Ctrl+P+Q

    回车即可跳出docker容器且不关闭,暂时看到是这样的解决方案。

    http://blog.csdn.net/yangzhen...

    2022-10-27 06:01 回答
  • docker ps -l
    

    查看『刚』运行过的容器!

    然后就得到了刚刚运行过的命令的 container_id

    docker commit 22bb071e070b docker-wordpress-nginx
    

    默认的 tag 就是 latest


    以上答案有误,会遇到问题!仍在尝试中,求大神解答,求 Best Practices!

    2022-10-27 06:01 回答
  • docker commit --help
    docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    

    A1. commit如果不加tag就默认是latest,如果在latest image上修改后再commit不加tag就会替代原来的latest, 一般都是commit之前先tag一下原来的latest image

    A2. v1,v2,v3这些都是你自己添加的tag, docker rmi username/repo:v1就可以删除v1这个tag,不影响其他tag

    同时如果v1,v2,v3三个tag是打在同一个image id上,删除了v1 tag也不会删除对应的image

    2022-10-27 06:01 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有