DockerCompose详解
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
Compose支持在当前工作目录下建立.env
文件,用来声明Compose默认的环境变量,比如service的某些环境变量:
# .env 文件
KEY=VAL
# 项目名称,如果此Compose拥有两个service:web,redis 则compose up后,这两个容器名称分别为myapp_web_1与myapp_redis_1
COMPOSE_PROJECT_NAME=myapp
# 指定compose文件的路径,未提供则在当前目录下查找,然后再查找父目录,直到查找到docker-compose.yml文件
# 可以设置多个文件,再macOs下,分隔符为: 再windows下,分隔符为;
# 可以通过COMPOSE_PATH_SEPARATOR设置路径分隔符
COMPOSE_FILE=docker-compose.yml:docker-compose.prod.yml
# 设置路径分隔符
COMPOSE_PATH_SEPARATOR=;
COMPOSE_API_VERSION
DOCKER_HOST
DOCKER_TLS_VERIFY
DOCKER_CERT_PATH
COMPOSE_HTTP_TIMEOUT
COMPOSE_TLS_VERSION
COMPOSE_CONVERT_WINDOWS_PATHS
COMPOSE_FORCE_WINDOWS_HOST
COMPOSE_IGNORE_ORPHANS
COMPOSE_PARALLEL_LIMIT
COMPOSE_INTERACTIVE_NO_CLI
docker-compose up 使用当前目录下的docker-compose.yml文件构建并启动容器,此方式在前台运行
docker-compose -f docker-compose.yml up 使用-f指定compose.yml文件的位置
docker-compose up -d (--detach)此时方式在后台运行(守护进程模式)
docker-compose ps 查看当前docker-compose文件夹下的所有容器极其状态
docker-compose logs redis 查看redis service的compose日志
docker-compose stop 停止compose服务,此时在使用ps命令查询时,容器已是退出状态
docker-compose restart 重启compose服务
docker-compose kill 强制杀掉compose服务
docker-compose rm 删除compose服务
docker-compose up -d nginx 构建建启动nignx容器
docker-compose exec nginx bash 登录到nginx容器中
docker-compose down 删除所有nginx容器,镜像
docker-compose ps 显示所有容器
docker-compose restart nginx 重新启动nginx容器
docker-compose run --no-deps --rm php-fpm php -v 在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器
docker-compose build nginx 构建镜像 。
docker-compose build --no-cache nginx 不带缓存的构建。
docker-compose logs nginx 查看nginx的日志
docker-compose logs -f nginx 查看nginx的实时日志
docker-compose config -q 验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。
docker-compose events --json nginx 以json的形式输出nginx的docker日志
docker-compose pause nginx 暂停nignx容器
docker-compose unpause nginx 恢复ningx容器
docker-compose rm nginx 删除容器(删除前必须关闭容器)
docker-compose stop nginx 停止nignx容器
docker-compose start nginx 启动nignx容器
build Build or rebuild services
bundle Generate a Docker bundle from the Compose file
config Validate and view the Compose file
create Create services
down Stop and remove containers, networks, images, and volumes
events Receive real time events from containers
exec Execute a command in a running container
help Get help on a command
images List images
kill Kill containers
logs View output from containers
pause Pause services
port Print the public port for a port binding
ps List containers
pull Pull service images
push Push service images
restart Restart services
rm Remove stopped containers
run Run a one-off command
scale Set number of containers for a service
start Start services
stop Stop services
top Display the running processes
unpause Unpause services
up Create and start containers
version Show the Docker-Compose version information
docker-compose.yaml:
version: "3"
services:
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PWD}
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PWD}
volumes:
- ./db_data:/var/lib/mysql
wordpress:
image: wordpress:latest
depends_on:
- db
ports:
- 8000:80
restart: always
environment:
VIRTUAL_HOST: yangsx95.com
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: ${DB_USER}
WORDPRESS_DB_PASSWORD: ${DB_PWD}
volumes:
- ./wp_site:/var/www/html
.env文件:
DB_ROOT_PWD=xxx
DB_DATABASE=wordpress
DB_USER=wordpress
DB_PWD=xxxs