Docker学习笔记(一) Docker入门 ——Docker容器的基本操作

11.1记

linux docker相关命令:

  • 查看docker状态: systemctl status docker
  • 启动docker:systemctl start docker
  • 停止docker:systemctl stop docker

 

docker相关命令:

运行第一个容器:

sudo docker run -i -t ubuntu /bin/bash

  • -i 开启标准输入
  • -t 为创建的容器分配一个伪终端
  • ubuntu: 基于ubuntu镜像创建容器
  • /bin/bash为创建好容器后执行的命令,此处即启动一个Bash shell

 

sudo docker  ps -a  :查看当前系统中的容器列表

 

容器命名:

sudo docker run --name xxx -i -t ubuntu xxx : 自定义容器名

 

重新启动已经停止的容器:

sudo docker start xxxx :启动一个容器,启动后会沿用docker run 命令时的参数来运行

  • xxxx可以是容器名称或者容器ID

 

附着到容器上:

sudo docker attach xxxx: 重新附着到容器的会话上

 

创建守护式容器:

守护式容器没有交互式回话,适合运行应用程序和服务。

sudo docker run --name daemon_dave  -d  ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done" 
  • -d: Docker会将容器放在后台运行

sudo docker ps可以看到一个正在运行的容器

 

容器内部都在干什么:

sudo docker logs daemon_dave

docker logs 命令获取容器的日志

 

其它参数:

  • sudo docker logs --tail 10 daemon_dave 获取日志最后10行
  • sudo docker logs --tail 0 -f daemon_dave 跟踪容器的最新日志
  • sudo docker logs -ft daemon_dave 给每条日志加上时间戳

 

 

查看容器内的进程

sudo docker top daemon_dave

 

在容器内部运行程序

容器内运行的进程有两种:后台任务和交互式任务

 

  • sudo docker exec -d daemon_dave touch /etc/new_config-file

-d标志标明运行一个后台进程, 此例会在daemon_dave 容器内创建一个空文件

 

  • sudo docker exec -t -i daemon_dave /bin/bash

运行一个交互式任务,可以在此处运行的shell中查看下上面创建的空文件是否成功

 

停止守护式容器

sudo docker stop daemon_dave

 

自动重启容器

当某种错误导致容器停止运行,可以通过--restart让docker重启容器

--restart会检查容器的退出代码,来决定是否要重启,默认不会重启

例如:

sudo docker run --restart=always --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"

--restart=always 不管容器退出代码是什么,都会自动重启。

还可以设为on-failure, 这样只有当容器退出代码为非0值的时候,才会自动重启。

 

深入容器

sudo docker inspect daemon_dave

docker inspect命令会对容器进行详细的检查,然后返回其配置信息。

 

可以用-f挥着--format标志来选定查看结果:

sudo docker inspect --format='{{  .State.Running}}' daemon_dave 

这条命令会返回容器运行状态。

 

sudo docker inspect --format='{{ .NetworkSettings.SandboxID }}'  daemon_dave

.......

 

删除容器

sudo docker rm 容器ID

运行中的容器是无法删除的,需要先docker stop或者kill。

 

 

 

 

 

 

 

你可能感兴趣的:(Docker学习笔记)