docker-compose安装和使用
来源:互联网 发布:淘宝皇冠店铺出租 编辑:程序博客网 时间:2024/05/20 05:26
使用Compose只需要简单的三个步骤:
第一步,使用Dockerfile来定义你的应用环境:
第二步,用一个docker-compose.yml来定义你的应用服务,他们可以把不同的服务生成不同的容器中组成你的应用。
第三步,执行docker-compose up
来启动你的应用,它会根据docker-compose.yml的设置来pull/run这俩个容器,然后再启动。
3、yml文件参考(要注意有2个版本,推荐使用version2)
在上面的yml文件中,我们可以看到compose文件的基本结构。首先是定义一个服务名,下面是yml服务中的一些选项条目:image
:镜像的IDbuild
:直接从pwd的Dockerfile来build,而非通过image选项来pulllinks
:连接到那些容器。每个占一行,格式为SERVICE[:ALIAS],例如 – db[:database]external_links
:连接到该compose.yaml文件之外的容器中,比如是提供共享或者通用服务的容器服务。格式同linkscommand
:替换默认的command命令ports
: 导出端口。格式可以是:
expose
:导出端口,但不映射到宿主机的端口上。它仅对links的容器开放。格式直接指定端口号即可。volumes
:加载路径作为卷,可以指定只读模式:
volumes_from
:加载其他容器或者服务的所有卷
env_file
:从一个文件中导入环境变量,文件的格式为RACK_ENV=developmentextends
:扩展另一个服务,可以覆盖其中的一些选项。一个sample如下:
net
:容器的网络模式,可以为”bridge”, “none”, “container:[name or id]”, “host”中的一个。dns
:可以设置一个或多个自定义的DNS地址。dns_search
:可以设置一个或多个DNS的扫描域。
其他的working_dir, entrypoint, user, hostname, domainname, mem_limit, privileged, restart, stdin_open, tty, cpu_shares
,和docker run
命令是一样的,这些命令都是单行的命令。例如:
大部分命令都可以运行在一个或多个服务上。如果没有特别的说明,命令则应用在项目所有的服务上。
执行 docker-compose [COMMAND] --help
查看具体某个命令的使用说明。
基本的使用格式是
docker-compose [options] [COMMAND] [ARGS...]
选项
--verbose
输出更多调试信息。--version
打印版本并退出。-f, --file FILE
使用特定的 compose 模板文件,默认为docker-compose.yml
。-p, --project-name NAME
指定项目名称,默认使用目录名称。
命令
build
构建或重新构建服务。
服务一旦构建后,将会带上一个标记名,例如 web_db。
可以随时在项目目录下运行 docker-compose build
来重新构建服务。
help
获得一个命令的帮助。
kill
通过发送 SIGKILL
信号来强制停止服务容器。支持通过参数来指定发送的信号,例如
$ docker-compose kill -s SIGINT
logs
查看服务的输出。
port
打印绑定的公共端口。
ps
列出所有容器。
pull
拉取服务镜像。
rm
删除停止的服务容器。
run
在一个服务上执行一个命令。
例如:
$ docker-compose run ubuntu ping docker.com
将会启动一个 ubuntu 服务,执行 ping docker.com
命令。
默认情况下,所有关联的服务将会自动被启动,除非这些服务已经在运行中。
该命令类似启动容器后运行指定的命令,相关卷、链接等等都将会按照期望创建。
两个不同点:
- 给定命令将会覆盖原有的自动运行命令;
- 不会自动创建端口,以避免冲突。
如果不希望自动启动关联的容器,可以使用 --no-deps
选项,例如
$ docker-compose run --no-deps web python manage.py shell
将不会启动 web 容器所关联的其它容器。
scale
设置同一个服务运行的容器个数。
通过 service=num
的参数来设置数量。例如:
$ docker-compose scale web=2 worker=3
start
启动一个已经存在的服务容器。
stop
停止一个已经运行的容器,但不删除它。通过 docker-compose start
可以再次启动这些容器。
up
构建,(重新)创建,启动,链接一个服务相关的容器。
链接的服务都将会启动,除非他们已经运行。
默认情况, docker-compose up
将会整合所有容器的输出,并且退出时,所有容器将会停止。
如果使用 docker-compose up -d
,将会在后台启动并运行所有的容器。
默认情况,如果该服务的容器已经存在, docker-compose up
将会停止并尝试重新创建他们(保持使用 volumes-from
挂载的卷),以保证 docker-compose.yml
的修改生效。如果你不想容器被停止并重新创建,可以使用 docker-compose up --no-recreate
。如果需要的话,这样将会启动已经停止的容器。
环境变量
环境变量可以用来配置 Compose 的行为。
以DOCKER_
开头的变量和用来配置 Docker 命令行客户端的使用一样。如果使用 boot2docker , $(boot2docker shellinit)
将会设置它们为正确的值。
COMPOSE_PROJECT_NAME
设置通过 Compose 启动的每一个容器前添加的项目名称,默认是当前工作目录的名字。
COMPOSE_FILE
设置要使用的 docker-compose.yml
的路径。默认路径是当前工作目录。
DOCKER_HOST
设置 Docker daemon 的地址。默认使用 unix:///var/run/docker.sock
,与 Docker 客户端采用的默认值一致。
DOCKER_TLS_VERIFY
如果设置不为空,则与 Docker daemon 交互通过 TLS 进行。
DOCKER_CERT_PATH
配置 TLS 通信所需要的验证(ca.pem
、cert.pem
和 key.pem
)文件的路径,默认是 ~/.docker
。
- docker-compose安装和使用
- Docker & Docker-Compose安装、使用
- Docker和Docker-compose安装
- Docker-Compose简介安装使用
- 【Docker】Docker-Compose安装与使用
- Ubuntu安装配置Docker和Docker-compose
- centos 上安装docker和docker-compose
- Ubuntu15.10安装docker和docker-compose
- CentOS6.x 安装 Docker 和 Docker Compose
- CentOS6.x 安装 Docker 和 Docker Compose
- CentOS6.x 安装 Docker 和 Docker Compose
- CentOS7 下安装docker和docker-compose
- 使用docker-compose快速安装redmine
- docker-compose的安装和设定
- 1.4、安装Docker Compose
- 安装Docker-Compose
- Centos7 安装docker-compose
- Centos7 安装docker-compose
- C++复习(3):类的一系列操作.继承与派生
- 687. Longest Univalue Path
- jQuery.validate自定义验证
- android从assets中获取json数据
- springboot源码分析9-random的使用以及原理
- docker-compose安装和使用
- 【Scikit-Learn 中文文档】三十八:成对的矩阵, 类别和核函数
- 用vuejs写一个分页组件
- 2017.12.6
- session和cookie总结,看完以下三篇文章就可以较好的理解了
- crontab使用方法
- docker私有仓库和监控及报警环境搭建
- 二进制图像矩阵转换为向量
- mysql--用户管理