非常教程

Docker 17参考手册

撰写 | Compose

docker-compose运行 | docker-compose run

Usage: run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]

Options:
    -d                    Detached mode: Run container in the background, print
                          new container name.
    --name NAME           Assign a name to the container
    --entrypoint CMD      Override the entrypoint of the image.
    -e KEY=VAL            Set an environment variable (can be used multiple times)
    -u, --user=""         Run as specified username or uid
    --no-deps             Don't start linked services.
    --rm                  Remove container after run. Ignored in detached mode.
    -p, --publish=[]      Publish a container's port(s) to the host
    --service-ports       Run command with the service's ports enabled and mapped
                          to the host.
    -v, --volume=[]       Bind mount a volume (default [])
    -T                    Disable pseudo-tty allocation. By default `docker-compose run`
                          allocates a TTY.
    -w, --workdir=""      Working directory inside the container

针对服务运行一次性命令。例如,以下命令启动该web服务并bash作为其命令运行。

docker-compose run web bash

您使用的命令run从具有由服务定义的配置的新容器中启动,包括卷,链接和其他详细信息。但是,有两个重要的区别。

首先,通过的命令将run覆盖服务配置中定义的命令。例如,如果web服务配置以bash开头,则将其docker-compose run web python app.py覆盖python app.py

第二个区别是该docker-compose run命令不会创建服务配置中指定的任何端口。这可以防止端口与已打开的端口发生冲突。如果您确实想要创建服务的端口并将其映射到主机,请指定--service-ports标志:

docker-compose run --service-ports web python manage.py shell

或者,可以使用--publish-p选项,就像使用docker run

docker-compose run --publish 8080:80 -p 2022:22 -p 127.0.0.1:2021:21 web python manage.py shell

如果启动使用链接配置的服务,则该run命令首先检查链接服务是否正在运行,并在服务停止时启动该服务。一旦所有链接的服务正在运行,run执行您通过它的命令。例如,您可以运行:

docker-compose run db psql -h db -U docker

这将为链接db容器打开一个交互式 PostgreSQL shell 。

如果您不希望run命令启动链接容器,请使用--no-deps flag

docker-compose run --no-deps web python manage.py shell

fig, composition, compose, docker, orchestration, cli, run

撰写 | Compose相关

1.关于版本和升级 | About versions and upgrading (Compose)
2.ASP.NET Core + SQL Server on Linux (Compose)
3.CLI环境变量 | CLI environment variables (Compose)
4.命令行完成 | Command-line completion (Compose)
5.组成 | Compose
6.组合命令行参考 | Compose command-line reference
7.控制启动顺序 | Control startup order (Compose)
8.Django and PostgreSQL (Compose)
9.Docker堆栈和分布式应用程序包 | Docker stacks and distributed application bundles (Compose)
10.docker-compose构建 | docker-compose build
11.docker-compose 束 | docker-compose bundle
12.docker-compose配置 | docker-compose config
13.docker-compose创建 | docker-compose create
14.docker-compose down
15.docker-compose事件 | docker-compose events
16.docker-compose exec
17.docker-compose助手 | docker-compose help
18.docker-compose图像 | docker-compose images
19.docker-compose kill
20.docker-compose logs
21.docker-compose暂停 | docker-compose pause
22.docker-compose port
23.docker-compose ps
24.docker-compose pull
25.docker-compose push
26.docker-compose重启 | docker-compose restart
27.docker-compose rm
28.docker-compose 规模 | docker-compose scale
29.docker-compose开始 | docker-compose start
30.docker-compose结束 | docker-compose stop
31.docker-compose顶部 | docker-compose top
32.docker-compose 取消暂停 | docker-compose unpause
33.docker-compose up
34.环境文件 | Environment file (Compose)
35.Compose中的环境变量 | Environment variables in Compose
36.Compose中的扩展服务 | Extend services in Compose
37.常见问题 | Frequently asked questions (Compose)
38.开始 | Getting started (Compose)
39.安装Compose | Install Compose
40.链接环境变量(不建议使用) | Link environment variables (deprecated) (Compose)
41.Compose网络 | Networking in Compose
42.Docker Compose总览 | Overview of Docker Compose
43. docker-compose CLI总览 | Overview of docker-compose CLI
44.快速开始:Compose和WordPress | Quickstart: Compose and WordPress
45.Rails and PostgreSQL (Compose)
46.Compose的简单应用 | Sample apps with Compose
47.Compose在产品中的使用 | Using Compose in production
48.Using Compose with Swarm
49.版本1 | Version 1 (Compose)
50.版本2 | Version 2 (Compose)
51.版本3 | Version 3 (Compose)
Docker 17

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

主页 https://docker.com/
源码 https://github.com/docker/docker
版本 17
发布版本 17.06