directory search
Compose About versions and upgrading (Compose) ASP.NET Core + SQL Server on Linux (Compose) CLI environment variables (Compose) Command-line completion (Compose) Compose(组成) Compose command-line reference(组合命令行参考) Control startup order (Compose) Django and PostgreSQL (Compose) Docker stacks and distributed application bundles (Compose) docker-compose build(docker-compose构建) docker-compose bundle docker-compose config docker-compose create docker-compose down docker-compose events docker-compose exec docker-compose help docker-compose images docker-compose kill docker-compose logs docker-compose pause docker-compose port docker-compose ps docker-compose pull docker-compose push docker-compose restart docker-compose rm docker-compose run docker-compose scale docker-compose start docker-compose stop docker-compose top docker-compose unpause docker-compose up Environment file (Compose) Environment variables in Compose Extend services in Compose Frequently asked questions (Compose) Getting started (Compose) Install Compose Link environment variables (deprecated) (Compose) Networking in Compose Overview of Docker Compose Overview of docker-compose CLI Quickstart: Compose and WordPress Rails and PostgreSQL (Compose) Sample apps with Compose Using Compose in production Using Compose with Swarm Engine .NET Core application (Engine) About images, containers, and storage drivers (Engine) Add nodes to the swarm (Engine) Apply custom metadata (Engine) Apply rolling updates (Engine) apt-cacher-ng Best practices for writing Dockerfiles (Engine) Binaries (Engine) Bind container ports to the host (Engine) Breaking changes (Engine) Build your own bridge (Engine) Configure container DNS (Engine) Configure container DNS in user-defined networks (Engine) CouchDB (Engine) Create a base image (Engine) Create a swarm (Engine) Customize the docker0 bridge (Engine) Debian (Engine) Default bridge network Delete the service (Engine) Deploy a service (Engine) Deploy services to a swarm (Engine) Deprecated Engine features Docker container networking (Engine) Docker overview (Engine) Docker run reference (Engine) Dockerfile reference (Engine) Dockerize an application Drain a node (Engine) Engine FAQ (Engine) Fedora (Engine) Get started (Engine) Get started with macvlan network driver (Engine) Get started with multi-host networking (Engine) How nodes work (Engine) How services work (Engine) Image management (Engine) Inspect the service (Engine) Install Docker (Engine) IPv6 with Docker (Engine) Join nodes to a swarm (Engine) Legacy container links (Engine) Lock your swarm (Engine) Manage nodes in a swarm (Engine) Manage sensitive data with Docker secrets (Engine) Manage swarm security with PKI (Engine) Manage swarm service networks (Engine) Migrate to Engine 1.10 Optional Linux post-installation steps (Engine) Overview (Engine) PostgreSQL (Engine) Raft consensus in swarm mode (Engine) Riak (Engine) Run Docker Engine in swarm mode Scale the service (Engine) SDKs (Engine) Select a storage driver (Engine) Set up for the tutorial (Engine) SSHd (Engine) Storage driver overview (Engine) Store service configuration data (Engine) Swarm administration guide (Engine) Swarm mode key concepts (Engine) Swarm mode overlay network security model (Engine) Swarm mode overview (Engine) Understand container communication (Engine) Use multi-stage builds (Engine) Use swarm mode routing mesh (Engine) Use the AUFS storage driver (Engine) Use the Btrfs storage driver (Engine) Use the Device mapper storage driver (Engine) Use the OverlayFS storage driver (Engine) Use the VFS storage driver (Engine) Use the ZFS storage driver (Engine) Engine: Admin Guide Amazon CloudWatch logs logging driver (Engine) Bind mounts (Engine) Collect Docker metrics with Prometheus (Engine) Configuring and running Docker (Engine) Configuring logging drivers (Engine) Control and configure Docker with systemd (Engine) ETW logging driver (Engine) Fluentd logging driver (Engine) Format command and log output (Engine) Google Cloud logging driver (Engine) Graylog Extended Format (GELF) logging driver (Engine) Journald logging driver (Engine) JSON File logging driver (Engine) Keep containers alive during daemon downtime (Engine) Limit a container's resources (Engine) Link via an ambassador container (Engine) Log tags for logging driver (Engine) Logentries logging driver (Engine) PowerShell DSC usage (Engine) Prune unused Docker objects (Engine) Run multiple services in a container (Engine) Runtime metrics (Engine) Splunk logging driver (Engine) Start containers automatically (Engine) Storage overview (Engine) Syslog logging driver (Engine) tmpfs mounts Troubleshoot volume problems (Engine) Use a logging driver plugin (Engine) Using Ansible (Engine) Using Chef (Engine) Using Puppet (Engine) View a container's logs (Engine) Volumes (Engine) Engine: CLI Daemon CLI reference (dockerd) (Engine) docker docker attach docker build docker checkpoint docker checkpoint create docker checkpoint ls docker checkpoint rm docker commit docker config docker config create docker config inspect docker config ls docker config rm docker container docker container attach docker container commit docker container cp docker container create docker container diff docker container exec docker container export docker container inspect docker container kill docker container logs docker container ls docker container pause docker container port docker container prune docker container rename docker container restart docker container rm docker container run docker container start docker container stats docker container stop docker container top docker container unpause docker container update docker container wait docker cp docker create docker deploy docker diff docker events docker exec docker export docker history docker image docker image build docker image history docker image import docker image inspect docker image load docker image ls docker image prune docker image pull docker image push docker image rm docker image save docker image tag docker images docker import docker info docker inspect docker kill docker load docker login docker logout docker logs docker network docker network connect docker network create docker network disconnect docker network inspect docker network ls docker network prune docker network rm docker node docker node demote docker node inspect docker node ls docker node promote docker node ps docker node rm docker node update docker pause docker plugin docker plugin create docker plugin disable docker plugin enable docker plugin inspect docker plugin install docker plugin ls docker plugin push docker plugin rm docker plugin set docker plugin upgrade docker port docker ps docker pull docker push docker rename docker restart docker rm docker rmi docker run docker save docker search docker secret docker secret create docker secret inspect docker secret ls docker secret rm docker service docker service create docker service inspect docker service logs docker service ls docker service ps docker service rm docker service scale docker service update docker stack docker stack deploy docker stack ls docker stack ps docker stack rm docker stack services docker start docker stats docker stop docker swarm docker swarm ca docker swarm init docker swarm join docker swarm join-token docker swarm leave docker swarm unlock docker swarm unlock-key docker swarm update docker system docker system df docker system events docker system info docker system prune docker tag docker top docker unpause docker update docker version docker volume docker volume create docker volume inspect docker volume ls docker volume prune docker volume rm docker wait Use the Docker command line (Engine) Engine: Extend Access authorization plugin (Engine) Docker log driver plugins Docker network driver plugins (Engine) Extending Engine with plugins Managed plugin system (Engine) Plugin configuration (Engine) Plugins API (Engine) Volume plugins (Engine) Engine: Security AppArmor security profiles for Docker (Engine) Automation with content trust (Engine) Content trust in Docker (Engine) Delegations for content trust (Engine) Deploying Notary (Engine) Docker security (Engine) Docker security non-events (Engine) Isolate containers with a user namespace (Engine) Manage keys for content trust (Engine) Play in a content trust sandbox (Engine) Protect the Docker daemon socket (Engine) Seccomp security profiles for Docker (Engine) Secure Engine Use trusted images Using certificates for repository client verification (Engine) Engine: Tutorials Engine tutorials Network containers (Engine) Get Started Part 1: Orientation Part 2: Containers Part 3: Services Part 4: Swarms Part 5: Stacks Part 6: Deploy your app Machine Amazon Web Services (Machine) Digital Ocean (Machine) docker-machine active docker-machine config docker-machine create docker-machine env docker-machine help docker-machine inspect docker-machine ip docker-machine kill docker-machine ls docker-machine provision docker-machine regenerate-certs docker-machine restart docker-machine rm docker-machine scp docker-machine ssh docker-machine start docker-machine status docker-machine stop docker-machine upgrade docker-machine url Driver options and operating system defaults (Machine) Drivers overview (Machine) Exoscale (Machine) Generic (Machine) Get started with a local VM (Machine) Google Compute Engine (Machine) IBM Softlayer (Machine) Install Machine Machine Machine CLI overview Machine command-line completion Machine concepts and help Machine overview Microsoft Azure (Machine) Microsoft Hyper-V (Machine) Migrate from Boot2Docker to Machine OpenStack (Machine) Oracle VirtualBox (Machine) Provision AWS EC2 instances (Machine) Provision Digital Ocean Droplets (Machine) Provision hosts in the cloud (Machine) Rackspace (Machine) VMware Fusion (Machine) VMware vCloud Air (Machine) VMware vSphere (Machine) Notary Client configuration (Notary) Common Server and signer configurations (Notary) Getting started with Notary Notary changelog Notary configuration files Running a Notary service Server configuration (Notary) Signer configuration (Notary) Understand the service architecture (Notary) Use the Notary client
characters

docker

若要列出可用命令,请运行docker没有参数或执行docker help*

$ docker
Usage: docker [OPTIONS] COMMAND [ARG...]
       docker [ --help | -v | --version ]
A self-sufficient runtime for containers.
Options:      
    --config string      Location of client config files (default "/root/.docker")  
    -D, --debug              Enable debug mode      
    --help               Print usage  
    -H, --host value         Daemon socket(s) to connect to (default [])  
    -l, --log-level string   Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")      
    --tls                Use TLS; implied by --tlsverify      
    --tlscacert string   Trust certs signed only by this CA (default "/root/.docker/ca.pem")      
    --tlscert string     Path to TLS certificate file (default "/root/.docker/cert.pem")      
    --tlskey string      Path to TLS key file (default "/root/.docker/key.pem")      
    --tlsverify          Use TLS and verify the remote  
    -v, --version            Print version information and quit

Commands:
    attach    Attach to a running container
    # […]

描述

根据您的Docker系统配置,可能需要使用前面的每个docker命令sudo。为了避免必须使用sudodocker命令,系统管理员可以创建一个名为的Unix组docker并向其添加用户。

有关安装Docker或sudo配置的更多信息,请参阅适用于您的操作系统的安装说明。

环境变量

为了便于参考,docker命令行支持以下环境变量列表:

  • DOCKER_API_VERSION要使用的API版本 (例如 1.19)。

  • DOCKER_CONFIG客户端配置文件的位置。

  • DOCKER_CERT_PATH身份验证密钥的位置。

  • DOCKER_DRIVER要使用的图形驱动程序。

  • DOCKER_HOST要连接到的守护进程套接字。

  • DOCKER_NOWARN_KERNEL_VERSION防止您的Linux内核不适合Docker的警告。

  • DOCKER_RAMDISK 如果设置这将禁用'pivot_root'。

  • DOCKER_TLS_VERIFY 当设置Docker使用TLS并验证远程。

  • DOCKER_CONTENT_TRUST设置Docker时使用公证人签名和验证图像。等于--disable-content-trust=false构建,创建,拉,推,run。

  • DOCKER_CONTENT_TRUST_SERVER要使用的公证服务器的URL。这默认为与注册表相同的URL。

  • DOCKER_HIDE_LEGACY_COMMANDS设置后,Docker会在输出中隐藏“legacy”顶级命令(如docker rm,和docker pulldocker help,并且仅打印Management commands每个对象类型(例如,docker container)。这可能会成为未来版本中的默认值,此时会删除此环境变量。

  • DOCKER_TMPDIR临时码头文件的位置。

因为Docker是使用GO开发的,所以您也可以使用GO运行时使用的任何环境变量。特别是,你可能会发现这些有用的:

  • HTTP_PROXY

  • HTTPS_PROXY

  • NO_PROXY

这些Go环境变量不区分大小写。见GO规格有关这些变量的详细信息。

配置文件

默认情况下,Docker命令行将其配置文件存储在目录中调用.docker$HOME目录中。但是,您可以通过DOCKER_CONFIG环境变量或--config命令行选项指定不同的位置。如果两者都指定,则该--config选项将覆盖DOCKER_CONFIG环境变量。例如:

docker --config ~/testconfigs/ ps

指示Docker ~/testconfigs/在运行该ps命令时使用目录中的配置文件。

Docker管理配置目录中的大部分文件,不应修改它们。但是,您可以修改config.json文件以控制docker命令行为的某些方面。

当前,您可以修改docker使用环境变量或命令行选项的命令行为。您还可以在config.json来修改一些相同的行为。在使用这些机制时,您必须记住它们之间的优先级顺序。命令行选项覆盖环境变量和环境变量,覆盖您在config.json档案。

config.json文件存储了几个属性的JSON编码:

HttpHeaders属性指定一组标题,以包含从Docker客户端发送到守护程序的所有消息。Docker不会试图解释或理解这些头文件; 它只是将它们放入消息中。Docker不允许这些头文件改变它自己设置的头文件。

该属性psFormat指定docker ps输出的默认格式。当这个--format标志没有被提供时docker ps,Docker的客户端使用这个属性。如果未设置此属性,则客户端将回到默认表格格式。有关支持的格式化指令的列表,请参阅文档中的格式部分docker ps

imagesFormat的特性是默认格式。docker images输出。当--format标志没有提供docker images命令,Docker的客户端使用此属性。如果未设置此属性,则客户端将返回到默认表格式。有关受支持的格式化指令的列表,请参见格式化部分docker images文献资料

pluginsFormat的特性是指定默认格式。docker plugin ls输出。当--format标志没有提供docker plugin ls命令,Docker的客户端使用此属性。如果未设置此属性,则客户端将返回到默认表格式。有关受支持的格式化指令的列表,请参见格式化部分docker plugin ls文献资料

servicesFormat的特性是指定默认格式。docker service ls输出。当--format标志没有提供docker service ls命令,Docker的客户端使用此属性。如果未设置此属性,则客户端将返回到默认的json格式。有关受支持的格式化指令的列表,请参见格式化部分docker service ls文献资料

serviceInspectFormat的特性是指定默认格式。docker service inspect输出。当--format标志没有提供docker service inspect命令,Docker的客户端使用此属性。如果未设置此属性,则客户端将返回到默认的json格式。有关受支持的格式化指令的列表,请参见格式化部分docker service inspect文献资料

statsFormat的特性是指定默认格式。docker stats输出。当--format标志没有提供docker stats命令,Docker的客户端使用此属性。如果未设置此属性,则客户端将返回到默认表格式。有关支持的格式指令列表,请参见格式化部分docker stats文献资料

secretFormat的特性是指定默认格式。docker secret ls输出。当--format标志没有提供docker secret ls命令,Docker的客户端使用此属性。如果未设置此属性,则客户端将返回到默认表格式。有关支持的格式指令列表,请参见格式化部分docker secret ls文献资料

nodesFormat的特性是指定默认格式。docker node ls输出。当--format标志没有提供docker node ls命令,Docker的客户端使用nodesFormat.如果nodesFormat未设置时,客户端将使用默认表格式。有关受支持的格式化指令的列表,请参见格式化部分docker node ls文献资料

configFormat的特性是指定默认格式。docker config ls输出。当--format标志没有提供docker config ls命令,Docker的客户端使用此属性。如果未设置此属性,则客户端将返回到默认表格式。有关支持的格式指令列表,请参见格式化部分docker config ls文献资料

credsStore的特性是指定外部二进制文件作为默认凭据存储。设置此属性时,docker login指定的二进制文件中存储凭据。docker-credential-<value>$PATH如果未设置此属性,则凭据将存储在auths属性的配置。有关更多信息,请参见凭证存储部分docker login文献资料

credHelpers的特性是指定一组要优先使用的凭据助手。credsStoreauths存储和检索特定注册表的凭据时。如果设置了此属性,则二进制docker-credential-<value>将用于存储或检索特定注册表的凭据。有关更多信息,请参见资信助理员部分docker login文献资料

一旦连接到容器上,用户就会从容器中分离出来,并使用CTRL-p CTRL-q键序列。此分离键序列可使用detachKeys特性。指定<sequence>属性的值。的格式<sequence>是以逗号分隔的字母列表。-Z,或ctrl-与下列任何一项相结合:

  • a-z(单个小写字母字母)

  • @(at标志)

  • [(左括号)

  • \\(2个反斜杠)

  • _(下划线)

  • ^(插入符号)

您的自定义适用于与您的Docker客户端一起启动的所有容器。用户可以根据每个容器覆盖您的自定义或默认密钥序列。为此,用户指定--detach-keysdocker attach,,,docker exec,,,docker rundocker start命令。

以下是一个示例config.json档案:

{  "HttpHeaders": {    "MyHeader": "MyValue"  },  "psFormat": "table {{.ID}}\\t{{.Image}}\\t{{.Command}}\\t{{.Labels}}",  "imagesFormat": "table {{.ID}}\\t{{.Repository}}\\t{{.Tag}}\\t{{.CreatedAt}}",  "pluginsFormat": "table {{.ID}}\t{{.Name}}\t{{.Enabled}}",  "statsFormat": "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}",  "servicesFormat": "table {{.ID}}\t{{.Name}}\t{{.Mode}}",  "secretFormat": "table {{.ID}}\t{{.Name}}\t{{.CreatedAt}}\t{{.UpdatedAt}}",  "configFormat": "table {{.ID}}\t{{.Name}}\t{{.CreatedAt}}\t{{.UpdatedAt}}",  "serviceInspectFormat": "pretty",  "nodesFormat": "table {{.ID}}\t{{.Hostname}}\t{{.Availability}}",  "detachKeys": "ctrl-e,e",  "credsStore": "secretservice",  "credHelpers": {    "awesomereg.example.org": "hip-star",    "unicorn.example.com": "vcbait"  }}

公证

如果使用自己的公证服务器和自签名证书或内部证书颁发机构,则需要将证书放在tls/<registry_url>/ca.crtdocker config目录中。

或者,您可以通过将证书添加到系统的根证书颁发机构列表中来全局信任该证书。

实例

显示帮助文本

要列出任何命令的帮助,只需执行该命令,然后是--help选择。

$ docker run --help

Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]Run a command in a new containerOptions:      --add-host value             Add a custom host-to-IP mapping (host:ip) (default [])  -a, --attach value               Attach to STDIN, STDOUT or STDERR (default [])...

选项类型

单字符命令行选项可以组合,所以不需要输入docker run -i -t --name test busybox sh,您可以编写docker run -it --name test busybox sh

布尔型

布尔选项采取的形式-d=false。如果您指定该标志,则在帮助文本中看到的值是设置的默认值。如果您指定一个没有值的布尔标志,则会将该标志设置为true,而不考虑默认值。

例如,运行docker run -d会将值设置为true,所以您的容器将以 “分离”模式在后台运行。

默认为true(例如docker build --rm=true)的选项只能通过明确设置为非默认值来设置false

$ docker build --rm=false .

您可以-a=[]在单个命令行中多次指定选项,例如在以下命令中:

$ docker run -a stdin -a stdout -i -t ubuntu /bin/bash

$ docker run -a stdin -a stdout -a stderr ubuntu /bin/ls

有时,多个选项可以调用更复杂的值字符串,如下所示-v

$ docker run -v /host:/container example/mysql

注意:由于实施中的限制,不要一起使用-t-a stderr选项pty。所有stderrpty模式都是简单的stdout

字符串和整数

--name=""期望一个字符串等选项,并且它们只能被指定一次。-c=0期望一个整数等选项,并且它们只能被指定一次。

Docker,Docker文件,CIL,命令行

Previous article: Next article: