1. docker exec -it 654be26ad354 bash
    2. docker attach 654be26ad354
    3. attach 直接进入容器启动命令的终端,不会启动新的进程。
    4. exec 是在容器中打开新的终端,并且可以启动新的进程。
    5. 如果直接在终端查看启动命令的输出,用 attach,其他用 exec

    容器按照用途大致分为两类:服务类容器和工具类容器。

    服务类容器以 daemon 的形式运行,对外提供服务,比如 Web Server,数据库等。通过 -d 以后台的方式启动这类容器是非常合适的。如果要排查问题,可以通过 exec -it 进入容器。

    工具类容器通常提供一个临时的工作环境,通常以 run -it 方式运行。

    1. CMD, ENTRYPOINT, docker run 命令指定的命令运行结束时,容器停止运行。
    2. 通过 -d 参数在后台运行。
    3. 通过 exec -it 可以进入容器并执行命令。
    4. 指定容器可使用短 ID,长 ID,通过 --name 命名,docker rename 重命名。
    1. docker stop [container]
    2. docker kill [container]
    3. docker start [container]
    4. docker create [image] 使用已有镜像创建容器,容器名任意。
    5. docker run 等同于 docker create && docker start
    6. docker restart (docker stop && docker start)
    7. #docker run -d --restart=always [image]
    8. #docker run -d --restart=on-failure:3
    9. 意思是如果启动进程退出代码非零,则重启容器,最多重启三次。
    10. docker pause [container] 暂停容器。
    11. docker unpause [container] 恢复运行。
    12. docker rm [ID1] [ID2] ...
    13. docker rm $(docker ps -aq -f status=exited)

    as.png