目录搜索
ComposeAbout 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 bundledocker-compose configdocker-compose createdocker-compose downdocker-compose eventsdocker-compose execdocker-compose helpdocker-compose imagesdocker-compose killdocker-compose logsdocker-compose pausedocker-compose portdocker-compose psdocker-compose pulldocker-compose pushdocker-compose restartdocker-compose rmdocker-compose rundocker-compose scaledocker-compose startdocker-compose stopdocker-compose topdocker-compose unpausedocker-compose upEnvironment file (Compose)Environment variables in ComposeExtend services in ComposeFrequently asked questions (Compose)Getting started (Compose)Install ComposeLink environment variables (deprecated) (Compose)Networking in ComposeOverview of Docker ComposeOverview of docker-compose CLIQuickstart: Compose and WordPressRails and PostgreSQL (Compose)Sample apps with ComposeUsing Compose in productionUsing Compose with SwarmEngine.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-ngBest 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 networkDelete the service (Engine)Deploy a service (Engine)Deploy services to a swarm (Engine)Deprecated Engine featuresDocker container networking (Engine)Docker overview (Engine)Docker run reference (Engine)Dockerfile reference (Engine)Dockerize an applicationDrain a node (Engine)EngineFAQ (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.10Optional Linux post-installation steps (Engine)Overview (Engine)PostgreSQL (Engine)Raft consensus in swarm mode (Engine)Riak (Engine)Run Docker Engine in swarm modeScale 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 GuideAmazon 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 mountsTroubleshoot 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: CLIDaemon CLI reference (dockerd) (Engine)dockerdocker attachdocker builddocker checkpointdocker checkpoint createdocker checkpoint lsdocker checkpoint rmdocker commitdocker configdocker config createdocker config inspectdocker config lsdocker config rmdocker containerdocker container attachdocker container commitdocker container cpdocker container createdocker container diffdocker container execdocker container exportdocker container inspectdocker container killdocker container logsdocker container lsdocker container pausedocker container portdocker container prunedocker container renamedocker container restartdocker container rmdocker container rundocker container startdocker container statsdocker container stopdocker container topdocker container unpausedocker container updatedocker container waitdocker cpdocker createdocker deploydocker diffdocker eventsdocker execdocker exportdocker historydocker imagedocker image builddocker image historydocker image importdocker image inspectdocker image loaddocker image lsdocker image prunedocker image pulldocker image pushdocker image rmdocker image savedocker image tagdocker imagesdocker importdocker infodocker inspectdocker killdocker loaddocker logindocker logoutdocker logsdocker networkdocker network connectdocker network createdocker network disconnectdocker network inspectdocker network lsdocker network prunedocker network rmdocker nodedocker node demotedocker node inspectdocker node lsdocker node promotedocker node psdocker node rmdocker node updatedocker pausedocker plugindocker plugin createdocker plugin disabledocker plugin enabledocker plugin inspectdocker plugin installdocker plugin lsdocker plugin pushdocker plugin rmdocker plugin setdocker plugin upgradedocker portdocker psdocker pulldocker pushdocker renamedocker restartdocker rmdocker rmidocker rundocker savedocker searchdocker secretdocker secret createdocker secret inspectdocker secret lsdocker secret rmdocker servicedocker service createdocker service inspectdocker service logsdocker service lsdocker service psdocker service rmdocker service scaledocker service updatedocker stackdocker stack deploydocker stack lsdocker stack psdocker stack rmdocker stack servicesdocker startdocker statsdocker stopdocker swarmdocker swarm cadocker swarm initdocker swarm joindocker swarm join-tokendocker swarm leavedocker swarm unlockdocker swarm unlock-keydocker swarm updatedocker systemdocker system dfdocker system eventsdocker system infodocker system prunedocker tagdocker topdocker unpausedocker updatedocker versiondocker volumedocker volume createdocker volume inspectdocker volume lsdocker volume prunedocker volume rmdocker waitUse the Docker command line (Engine)Engine: ExtendAccess authorization plugin (Engine)Docker log driver pluginsDocker network driver plugins (Engine)Extending Engine with pluginsManaged plugin system (Engine)Plugin configuration (Engine)Plugins API (Engine)Volume plugins (Engine)Engine: SecurityAppArmor 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 EngineUse trusted imagesUsing certificates for repository client verification (Engine)Engine: TutorialsEngine tutorialsNetwork containers (Engine)Get StartedPart 1: OrientationPart 2: ContainersPart 3: ServicesPart 4: SwarmsPart 5: StacksPart 6: Deploy your appMachineAmazon Web Services (Machine)Digital Ocean (Machine)docker-machine activedocker-machine configdocker-machine createdocker-machine envdocker-machine helpdocker-machine inspectdocker-machine ipdocker-machine killdocker-machine lsdocker-machine provisiondocker-machine regenerate-certsdocker-machine restartdocker-machine rmdocker-machine scpdocker-machine sshdocker-machine startdocker-machine statusdocker-machine stopdocker-machine upgradedocker-machine urlDriver 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 MachineMachineMachine CLI overviewMachine command-line completionMachine concepts and helpMachine overviewMicrosoft Azure (Machine)Microsoft Hyper-V (Machine)Migrate from Boot2Docker to MachineOpenStack (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)NotaryClient configuration (Notary)Common Server and signer configurations (Notary)Getting started with NotaryNotary changelogNotary configuration filesRunning a Notary serviceServer configuration (Notary)Signer configuration (Notary)Understand the service architecture (Notary)Use the Notary client
文字

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,命令行

上一篇:下一篇: