内容简介:举例
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环境
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Coding the Matrix
Philip N. Klein / Newtonian Press / 2013-7-26 / $35.00
An engaging introduction to vectors and matrices and the algorithms that operate on them, intended for the student who knows how to program. Mathematical concepts and computational problems are motiva......一起来看看 《Coding the Matrix》 这本书的介绍吧!