Doker:docker-compose安装与操作
docker-compose简介
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
compose下载地址
https://dn-dao-github-mirror.daocloud.io/docker/compose/releases/
# Linux内下载 使用国内镜像源,速度较快 sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
安装compose
# 赋予compose执行权限 sudo chmod +x /usr/local/bin/docker-compose # 创建软连接 sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose # 测试运行 docker-compose --version
# 卸载
rm /usr/local/bin/docker-compose
docker与compose版本对应
docker-compose文件格式
version: "3.8" # 代表使用docker-compose项目的版本号 networks: # 设置组网网络 study_net: # 自定义网络名称 ipam: config: - subnet: 172.19.8.0/24 # 设置组网网段 默认172.19.8.0 开始 services: # 表示如下是服务 web: # 自定义服务名称 container_name: base-web # 配置容器名称 build: # 指定Dockerfile的上下文目录 context: /home/docker/resource # DockerFile文件路径 dockerfile: webDockerfile # DockerFile文件名称 restart: always # 容器自启 ports: # 宿主机 和 容器的端口映射 - 5000:5000 # TCP端口映射 - 27340:27340/udp # UDP端口映射 network_mode: host # 设置容器共用宿主机所有端口 volumes: # 挂载配置 - /home/web/data:/usr/lib/data # 宿主机 和 容器挂载目录的映射 external_links: # 赋予其他容器服务别名 - base-mysql:db environment: # 容器配置项 spring.appllication.name: base-web redis.redisHost: 192.168.1.123 # 通过别名调用其他容器服务 spring.datasource.url: jdbc:mysql://db:3306/aomen?useUnicode=true&useSSL=true&characterEncoding=UTF-8&serverTimenzone=UTC mysql: container_name: base-mysql image: mysql:5.7.16 # 镜像名称版本 restart: always environment: TZ: Asia/Shanghaidoc # 配置时间为上海时间 MYSQL_ROOT_PASSWORD: 123456 # 配置mysql密码 MYSQL_ROOT_HOST: '%' # 设置用户开启远程连接 logging: # 设置Docker日志 driver: "json-file" # 日志记录为json格式 options: max-size: "100m" # 设置日志大小 max-file: "10" # 设置日志文件个数 ports: - 3306:3306 networks: study_net: # 引用自定义网络 ipv4_address: 172.19.8.200 # 设置网段内IP command: [ '--character-set-server=utf8mb4', # 设置库的字符集 '--collation-server=utf8mb4_general_ci', # 默认排序方式 '--default-authentication-plugin=mysql_native_password' # 远程登录密码与用户设置的密码一致 ] volumes: - /home/mysql/data:/var/lib/mysql # 挂载mysql日志数据 nacos: container_name: nacos image: nacos/nacos-server:latest restart: always environment: PREFER_HOST_MODE: hostname MODE: standalone logging: driver: "json-file" options: max-size: "100m" max-file: "10" ports: - 8848:8848 networks: study_net: ipv4_address: 172.19.8.201
docker-compose操作命令
## 在docker-compose.yml同层级目录下运行命令 # 启动服务 docker-compose up # 启动服务且不显示启动日志 docker-compose up -d # 停止并清除容器 docker-compose down # 停止容器 docker-compose stop # 重启容器 docker-compose restart
-----------------------------------
作者:怒吼的萝卜
链接:http://www.cnblogs.com/nhdlb/
-----------------------------------