Linux入门教程:Docker命令行参考(1) – Docker Engine命令行用法,命令行要避免docker使


要列出可用的命令,运行不带参数的docker或执行docker help:

$ docker Usage: docker [OPTIONS] COMMAND [arg...]        docker [ --help | -v | --version ]   A self-sufficient runtime for containers.   Options:     --config=~/.docker              Location of client config files   -D, --debug                     Enable debug mode   -H, --host=[]                   Daemon socket(s) to connect to   -h, --help                      Print usage   -l, --log-level=info            Set the logging level   --tls                           Use TLS; implied by --tlsverify   --tlscacert=~/.docker/ca.pem    Trust certs signed only by this CA   --tlscert=~/.docker/cert.pem    Path to TLS certificate file   --tlskey=~/.docker/key.pem      Path to TLS key file   --tlsverify                     Use TLS and verify the remote   -v, --version                   Print version information and quit   Commands:     attach    Attach to a running container     # […]

取决于你的docker系统配置,可能需要在每个docker命令前加sudo。要避免docker使用sudo,可以创建一个unix组,称为docker,并添加用户到这个组。

环境变量

docker命令行支持以下环境变量:

DOCKER_API_VERSION 使用的API版本[如1.19] DOCKER_CONFIG 客户端配置文件路径 DOCKER_CERT_PATH 验证密钥文件路径 DOCKER_DRIVER 使用的驱动 DOCKER_HOST 连接到的Daemon socket DOCKER_NOWARN_KERNEL_VERSION 避免Linux内核不适合Docker的警告。 DOCKER_RAMDISK 设置这个将禁用pivot_root DOCKER_TLS_VERIFY 当设置时Docker使用TLS并验证远程。 DOCKER_CONTENT_TRUST 设置时Docker使用notary来签名和验证镜像。 DOCKER_CONTENT_TRUST_SERVER Notary server的URL。 DOCKER_TMPDIR docker临时文件路径。

由于docker使用Go开发,你也可以使用Go运行时使用的环境变量。特别是,下面这些会有用:

HTTP_PROXY HTTPS_PROXY NO_PROXY

这些Go环境变量是区分大小写的。

配置文件

默认下,docker命令行把它的配置文件存储到你的$HOME目录下的.docker文件中。不过你可以通过DOCKER_CONFIG环境变量或–config命令行选项来指定一个不同的路径。如果两个都指定了,那么–config选项将覆盖DOCKER_CONFIG环境变量。例如:

docker --config ~/testconfigs/ ps

指示当docker执行ps命令时使用在~/testconfigs/目录下的配置文件。
Docker管理配置目录中的大多数文件,建议不要修改它们。不过可以修改config.json文件来控制docker命令行为的某些方面。
目前可以使用环境变量或命令行选项来更改docker命令行为。也可以使用config.json中的选项来修改一些相同的行为。当使用这些机制时,必须记住它们的优先级。命令行选项覆盖环境变量,环境变量覆盖在config.json文件中的属性。
config.json文件存储几个以JSON编码的属性:
HttpHeaders属性指定一些请求头,来包括在从Docker客户端发送到daemon的消息中。Docker不会尝试解析或理解这些请求头;它仅仅把它们放置在消息中。Docker不会允许这些请求头修改已经存在的请求头。
psFormat属性指定docker ps的默认输出格式。当docker ps没有指定–format选项时,Docker客户端使用这个属性。如果这个属性没有设置,客户端恢复为默认表格式。

相关内容