内容简介:举例
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环境
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JSP应用开发技术
柳永坡 / 人民邮电出版社 / 2005-9 / 52.00元
本书全面系统地介绍了JSP应用开发技术,包括JSP预备知识和环境配置、JSP编程基础、JSP应用开发进阶、在JSP中使用数据库、Servlet技术、标签库和表达式语言、Web编程模式和应用框架等几个方面的内容。本书不但由浅入深地介绍了JSP程序设计的原理、方法和技术,还提供了大量的JSP应用开发实例,给出了相应的实用技巧、操作步骤及优化思路。 本书着重于JSP技术的应用性和可操作性,......一起来看看 《JSP应用开发技术》 这本书的介绍吧!