内容简介:举例
docker-compose
- -f,--file 指定使用的compose模板文件,默认为docker-compose.yml
- -p, --project-name NAME 指定项目名称,默认使用所在目录名称作为项目名
- --verbose 输出更多的调试信息
- -v,--version 打印版本并退出
常用命令 # 构建服务 docker-compose build # 启动服务,启动过程中可以直接查看终端日志,观察启动是否成功 docker-compsoe up # 启动服务在后台,如果确认部署成功,则可以使用此命令,将应用跑在后台,作用类似 nohup python waller.py & docker-compose up -d # 查看日志,效果类似 tail -f waller.log docker-compose logs -f # 停止服务,会停止服务的运行,但是不会删除服务所所依附的网络,以及存储等 docker-compsoe stop # 删除服务,并删除服务产生的网络,存储等,并且会关闭服务的守护 docker-compose down
-
build 构建项目中的服务容器
-
docker-compose build [options]
- --force-rm 删除构建过程中的临时容器
- --no-cache 构建镜像过程中不使用缓存(这将加长构建过程)
- --pull 始终尝试通过拉取操作来获取更新版本的镜像
-
docker-compose build [options]
- help
-
kill 通过发送 SIGKILL 信号来强制停止服务容器
- docker-compose kill -s SIGINT
- logs 查看服务容器的输出
- pause 暂停一个服务容器
- port 打印某个容器端口所映射的公共端口
- ps 列出项目中所有容器
- pull 拉取服务以来的镜像
-
restart 重启项目中的服务
- -t,--timeout,指定重启前停止容器的超时(默认10s)
-
rm 删除所有(停止状态)服务容器
- -f,--force 强制直接删除,包括非停止状态的容器
- -v 删除容器所挂载的数据卷
-
run 在指定服务上执行一个命令
- docker-compose run ubuntu ping www.baidu.com
- docker-compose run --no-deps web python manage.py shell 不自动关联
- -d 在后台运行服务容器
- --name Name 为容器指定一个名字
- --entrypoint CMD 覆盖默认的容器启动指定
- -e KEY=VAL 设置环境变量, 可多次使用
- --rm 运行命令后自动删除容器,d模式下将忽略
- -p,--publish=[] 映射服务端口并映射到本机主机
- -T 不分配伪tty,意味着依赖tty的指令将无法执行
-
scale 设定指定服务运行的容器个数
- docker-compose scale web=3 db=2 启动3个容器运行web,2个容器运行db
- start 启动已经存在的服务容器
- stop 停止已经处于运行状态的容器,但不删除
- unpause 恢复处于暂停状态的服务
-
up 自动完成包括构建镜像、创建服务、启动服务并关联服务相关容器的一系列操作
- -d 在后台运行服务容器
- --no-color 不启动服务所链接的容器
- --no-deps 不启动服务所链接的容器
- migrate-to-labels 重新创建容器,并添加label
- version 打印版本信息
compose 环境变量
- COMPOSE_PROJECT_NAME 设置compose的项目名称,默认是当前工作目录(docker-compose.yml文件所在的目录)的名字
- COMPOSE_FILE 设置要使用的docker-compose.yml的路径。如果不指定,默认会先查找当前工作目录下是否存在docker-compose.yml文件,如果还找不到,则继续查找上层目录
- COMPOSE_HOST 设置 docker 服务端的监听地址。默认unix:///var/run/docker.sock
- COMPOSE_HTTP_TIMEOUT compose 发送 docker 服务端的请求超时,默认60s
compose 模板文件
举例
vim walle.env # Set MySQL/Rails environment MYSQL_USER=root MYSQL_PASSWORD=walle MYSQL_DATABASE=walle MYSQL_ROOT_PASSWORD=walle vim docker-compose.yml version: '3.7' services: web: image: alenx/walle-web:2.0 container_name: walle-nginx hostname: nginx-web ports: # 如果宿主机80端口被占用,可自行修改为其他port(>=1024) # 0.0.0.0:要绑定的宿主机端口:docker容器内端口80 - "80:80" links: - python depends_on: - python networks: - walle-net dns: - 8.8.8.8 - 9.9.9.9 # 类似 --add-host extra_hosts: - "google.com:8.8.8.8" ulimits: nproc: 65535 nofile: soft: 20000 hard: 40000 restart: always python: # 默认使用alenx/walle-python:2.0 # maven工程使用alenx/walle-java:2.0; maven:3.6.0, jdk:1.8.0_181 image: alenx/walle-python:2.0 # image: alenx/walle-java:2.0 container_name: walle-python hostname: walle-python env_file: # walle.env需和docker-compose在同级目录 - walle.env command: bash -c "cd /opt/walle-web/ && /bin/bash admin.sh migration && python waller.py" expose: - "5000" volumes: - /tmp/walle/codebase/:/tmp/walle/codebase/ - /tmp/walle/logs/:/opt/walle-web/logs/ - /root/.ssh:/root/.ssh/ links: - db depends_on: - db networks: - walle-net environment: - RACK_ENV: development restart: always db: image: mysql container_name: walle-mysql hostname: walle-mysql env_file: - walle.env command: --default-authentication-plugin=mysql_native_password ports: - "3306:3306" - "127.0.0.1:8001:8001" expose: - "3306" volumes: - /data/walle/mysql:/var/lib/mysql - ~/configs:/etc/configs/:ro networks: - walle-net dns: 8.8.8.8 restart: always networks: walle-net: driver: bridge
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- docker-compose
- 组合多个docker-compose文件
- 关于docker-Compose基本使用
- 使用docker-compose搭建zabbix
- docker-compose部署mysql无法访问
- 使用docker-compose构造LAMP环境
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
jQuery in Action
Bear Bibeault、Yehuda Katz / Manning Publications / 2008-2-17 / USD 39.99
A good web development framework anticipates what you need to do and makes those tasks easier and more efficient; jQuery practically reads your mind. Developers of every stripe-hobbyists and professio......一起来看看 《jQuery in Action》 这本书的介绍吧!