下载docker-compose:
下载指定版本compose
查看compose发布版本
sudo curl -L "https://github.com/docker/compose/releases/download/v2.4.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
赋予用户可执行权限
sudo chmod +x /usr/local/bin/docker-compose
查看版本号验证是否安装成功
docker-compose --version
创建项目目录
mkdir test && cd test
创建并编辑docker-compose.yml文件(下面有示例)
vim docker-compose.yml
在后台启动所有服务(默认指定./docker-compose.yml)
docker-compose up -d
显示所有运行的服务
docker-compose ps
停止所有运行的服务
docker-compose stop
卸载docker-compose:
sudo rm /usr/local/bin/docker-compose
docker-compose常用命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| #在后台所有启动服务(默认指定./docker-compose.yml) docker-compose up -d
#显示所有容器 docker-compose ps
#停止和删除容器、网络、卷、镜像 docker-compose down
#停止正在运行的容器 docker-compose stop
#构建建启动nignx容器 docker-compose up -d nginx
#登录到nginx容器中 docker-compose exec nginx bash
#重新启动nginx容器 docker-compose restart nginx
#在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器 docker-compose run --no-deps --rm php-fpm php -v
#构建镜像 docker-compose build nginx
#不带缓存的构建 docker-compose build --no-cache nginx
#查看nginx的日志 docker-compose logs nginx
#查看nginx的实时日志 docker-compose logs -f nginx
#验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。 docker-compose config -q
#以json的形式输出nginx的docker日志 docker-compose events --json nginx
#暂停nignx容器 docker-compose pause nginx
#恢复ningx容器 docker-compose unpause nginx
#删除容器(删除前必须关闭容器) docker-compose rm nginx
#停止nignx容器 docker-compose stop nginx
#启动nignx容器 docker-compose start nginx
|
docker-compose.ymal示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| version: '3.1' services: doh_mysql: image: mysql:5.7.20 container_name: doh_mysql command: --server_id=100 ports: - "3306:3306" environment: TZ: Asis/Shanghai MYSQL_ROOT_PASSWORD: "123456" MYSQL_USER: 'root' MYSQL_PASS: '123456' MYSQL_DATABASE: database volumes: - ./doh_mysql/data:/var/lib/mysql - ./doh_mysql/conf/my.cnf:/etc/mysql/my.cnf networks: - net_db cok_mysql: image: mysql:5.7.20 container_name: cok_mysql command: --server_id=200 ports: - "3316:3306" environment: TZ: Asis/Shanghai MYSQL_ROOT_PASSWORD: "123456" MYSQL_USER: 'root' MYSQL_PASS: '123456' MYSQL_DATABASE: database volumes: - ./cok_mysql/data:/var/lib/mysql - ./cok_mysql/conf/my.cnf:/etc/mysql/my.cnf networks: - net_db redis: image: redis:5.0.0 container_name: redis command: redis-server /etc/redis/redis.conf --requirepass 123456 networks: - net_db ports: - "6379:6379" volumes: - ./redis/data:/var/lib/redis - ./redis/conf/redis.conf:/etc/redis/redis.conf - ./redis/logs:/logs/redis networks: net_db: driver: bridge
|
注意:
需要安装Docker