Skip to content

Docker常用命令

Terminal window
docker run --detach --name web nginx:latest

—detach 缩写是 -d, 使用该选项,程序将在后台启动,不会附着到终端。运行守护式容器适合后台静默运行程序,也即是守护程序。

—name, 每个容器分配一个唯一的标识符, 一个16进制编码的1024位数字。大多数Docker界面上,Docker ID会截断前12个字符,使生成的ID更人性化,—name标识可以给容器分配一个固定的名称。

Terminal window
docker run --ineractive --tty --name test busybox:latest /bin/sh

—interactive(或-i) 选项会让Docker保持标准输入流(stdin, 标准输入)对容器开发, 即使容器没有终端连接。

—tty(或-t)选项会让Docker为容器分配一个虚拟终端,这使得可以给发送信号给容器

docker ps 命令可以查看当前正在运行中的容器。

Terminal window
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
21f9caa76a05 busybox:latest "/bin/sh -c 'sleep 3…" 21 minutes ago Up 21 minutes nsa

该命令显示每个运行中容器的以下信息:

  • CONTAINER ID 容器ID
  • IMAGE 使用的镜像
  • COMMAND 执行的命令
  • CREATED 容器运行的时长
  • PORT 容器暴露的网路端口
  • NAMES 容器名
Terminal window
docker restart test

docker restart 通过容器的ID或者容器名称,可以重启已经停止的容器

Terminal window
docker logs test

通过docker logs命令选项—fllow(或-f),可用来显示容器日志,并继续监视和更新容器的日志显示,不放过日志中的任何变化。

Terminal window
docker run -d --read-only wordpress:4

使用—read-only标志,可以创建一个只读的文件系统,容器不能更改它所包含的任何文件,因而即使容器中有攻击者,也无法破坏任何文件

Terminal window
docker run --env MY_ENV="hello world" busybox:latest

使用—env或者缩写-e,可以用于注入任何环境变量

Docker 提供重启策略,来控制容器退出时的自动重启行为。要为容器配置重启策略,需要在docker run 命令使用—restart标志, —restart标志值可以使用以下值:

描述
no不自动重启容器(默认值)
on-failure容器由于错误退出也即非0退出时,自动重启容器
always不管退出状态码是什么始终重启容器,docker daemon将无限次数地重启容器。容器也会在daemon启动时尝试重启,不管容器当时的状态如何。
unless-stopped同always相似,不管退出状态码是什么始终重启容器,不过当daemon启动时,如果容器之前已经为停止状态,不会尝试启动它。
Terminal window
docker run -d --restart unless-stopped redis