前言 DockerCompose集群部署学习笔记 Compose是一个文本文件,用于存放自动化部署集群镜像的脚本代码
安装DockerCompose MacOS 1 brew install docker-compose
Linux
1 2 3 4 5 # 下载DockerCompose curl -L https://github.io/docker/compose/release/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose # 配置自动补全 curl -L https://raw/githubsercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
Ubuntu 1 apt install docker-compose
定义docker-compose.yml配置文件 部署Mysql+Java项目案例
version: ""
:制定DockerCompose的版本,不同版本语法不同services.mysql.volumes
:
/root/mysql/data
:指定宿主机映射的Mysql数据目录/root/mysql/conf/hmy.cnf
:指定宿主机映射的Mysql配置文件
services.web.build
:指定Dockerfile所在目录
docker-compose.yml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 version: "3.2" services: mysql: image: mysql:5.7.25 environment: MYSQL_ROOT_PASSWORD: 123456 volumes: - /root/mysql/data:/var/lib/mysql - /root/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf web: build: . ports: - 8080 :8080
部署Mysql+Java项目集群案例
DockerCompose内部得服务互相访问可以把服务名当作域名直接访问,而不需要ip地址
docker-compose.yml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 version: "3.2" services: nacos: image: nacos/nacos-server environment: MODE: standalone port: - "8848:8848" mysql: image: mysql:5.7.25 environment: MYSQL_ROOT_PASSWORD: 123456 volumes: - /root/mysql/data:/var/lib/mysql - /root/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf user-service: build: ./user-service order-service: build: ./order-service gateway: build: ./gateway posts: - "8100"
通过docker-compose与Dockerfile的案例 Dockerfile 1 2 3 4 5 6 7 FROM golang:1.20 -alpine as builderRUN apk --no-cache add git WORKDIR /app COPY . . ENV GO111MODULE=onENV GOPROXY="https://mirrors.aliyun.com/groxy,direct" CMD go run main.go
docker-compose.yml 1 2 3 4 5 6 7 8 9 10 version: "3.1" services: demo: build: context: ./ dockerfile: Dockerfile image: go-product:v1.0 container_name: go-product ports: - 8080 :8080
查看帮助
运行容器
-d
:后台运行-f docker-compose.yml
手动指定docker-compose.yml
配置文件的位置
停止容器
停止并删除容器
重启容器 重启配置文件中的所有服务
重启配置文件中的指定服务
<service_name>
:服务名
1 2 3 docker-compose restart <service_name> docker-compose restart <service_name> <service_name>
查看容器日志
-f
:持续输出日志
查看配置文件中的所有服务的日志
查看配置文件中的指定服务的日志 1 2 3 docker-compose logs <service_name> docker-compose logs <service_name> <service_name>
完成 参考文献 哔哩哔哩——黑马程序员 CSDN——随猿Fa