You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何返回已后台运行的Alpine容器并提交更改?

嘿,我来帮你搞定这两个Docker操作的问题!

重新进入后台运行的容器

当你用Ctrl-P Ctrl-Q退出容器后,容器其实还在后台正常运行着,你可以通过以下两种方式重新进入:

  • 方法一:使用docker attach

    1. 先查看后台运行的容器信息,获取容器ID或自定义名字:
      docker ps
      
      输出结果里的CONTAINER ID或NAMES列就是你需要的标识。
    2. 执行attach命令进入容器:
      docker attach <容器ID/容器名字>
      
      注意:用这种方式进入后,若按Ctrl+D退出会直接停止容器;要是想再次后台退出,还是得用Ctrl-P Ctrl-Q。
  • 方法二:使用docker exec(更推荐)
    这个方法会给容器新开一个独立的终端会话,完全不会干扰容器原本的运行状态,退出时也不会停止容器:

    1. 同样先通过docker ps获取容器ID/名字
    2. 执行exec命令进入容器:
      docker exec -it <容器ID/容器名字> /bin/sh
      
      这里的-it参数是用来分配交互式终端,/bin/sh是Alpine系统默认的shell(它没有预装bash)。退出时按Ctrl+D即可,容器会继续在后台运行。
提交容器更改以保存为新镜像

要把你在容器里创建test.txt的更改永久保存下来,需要将当前容器的状态提交为一个新的镜像:

  1. 确保容器处于运行状态(如果不小心停掉了,先执行docker start <容器ID/容器名字>启动它)
  2. 执行docker commit命令生成新镜像:
    docker commit <容器ID/容器名字> <新镜像名称:标签>
    
    举个实际例子,假设容器ID是abc123,你可以把新镜像命名为my-custom-alpine:v1:
    docker commit abc123 my-custom-alpine:v1
    
  3. 之后你用这个新镜像运行容器时,里面就会包含你之前创建的test.txt文件了:
    docker run -it my-custom-alpine:v1 /bin/sh
    

内容的提问来源于stack exchange,提问作者Andy K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:42:15