docker ps

docker ps -n 5

image.png

docker run

启动交互式容器

docker run -it

-d 后台运行(守护式容器) Run container in background and print container ID
-i 交互模式
-t 分配一个伪终端 —tty
-P 随机端口映射
-p 指定端口映射

启动守护式容器

jun@jundeMBP ~ % docker run -d ubuntu c0e4ccb1c47580adf39a626f408db27723576a754f491943c2395e114f790fb9 jun@jundeMBP ~ % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

现象:容器创建、启动后马上退出了
原因:Docker容器后台运行必须要有前台进程。如果容器运行的命令不是一直挂起的命令,就会自动退出。
上面ubuntu容器创建后,内没有前台的进程,就自动退出了。但如果交互模式运行后,用ctrl+p+q退出,容器内还有一个前台运行的命令行,就不会自动退出。

docker run -d amd64/redis

容器内的redis不是以守护进程启动的,docker认为有前台进程,启动后不会自动退出。

退出机制

  1. exit。 退出后容器停止
  2. ctrl +p+q。退出后容器继续运行

启动、停止、强制停止容器

docker start ID/容器名 docker stop … docker kill …

查看容器日志 logs

docker logs ID

重新进入容器 exec attach

docker exec -it id docker attach -it id