当前位置: 首页 > news >正文

docker compose.yml学习

docker compose

安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-composeln -s /usr/local/bin/docker-compose /usr/bin/docker-composedocker-compose version

容器创建

创建网络
设置固定ip

docker network create --subnet=172.19.0.0/18 mynetwork

docker-compose安装 mysql

遇到的问题
changing ownership of '/var/lib/mysql/': Permission denied
设置 privileged: true 属性

privileged: true  容器设置root属性
command: --lower_case_table_names=1   忽略大小写networks:default:ipv4_address: 172.19.0.2  绑定ip
version: '3'
services:mysql:image: mysql:8.0.23container_name: mysql_demo1ports:- '13001:3306'command: --lower_case_table_names=1volumes:- /data/mysql_demo1/config:/etc/mysql/conf.d- /data/mysql_demo1/data:/var/lib/mysqlenvironment:- MYSQL_ROOT_PASSWORD=abc123456- TZ=Asia/Shanghainetworks:default:ipv4_address: 172.19.0.2privileged: true		networks:default:external:name: mynetwork

启动命令

docker-compose up -d指定文件启动
docker-compose -f docker-compose.yaml up

version : '3'                                      #compose文件版本支持特定的Docker版本
services:                                          #本工程的服务配置列表mysql_demo1:                                           #服务名,自定义container_name: docker-compose-mysql-demo      #容器名image: mysql:8.0.23                              #指定基于mysql:5.7镜像为基础镜像来构建镜像。ports:- "13001:3306"command: [                                           #使用command可以覆盖容器启动后默认执行的命令'--character-set-server=utf8mb4',            #设置数据库表的数据集'--collation-server=utf8mb4_unicode_ci',     #设置数据库表的数据集'--default-time-zone=+8:00'                  #设置mysql数据库的时区问题]environment:           MYSQL_ROOT_PASSWORD: abc123456                         #设置root连接密码MYSQL_ROOT_HOST: '%'volumes:- /root/docker-compose/mysql/data:/var/lib/mysql- /root/docker-compose/mysql/config:/etc/mysql/conf.drestart: alwaysnetworks:default:ipv4_address: 172.19.0.2privileged: true     
networks:default:external:name: mynetwork                                         #自定义的网络 

安装备份

version: '3'
services:mysql1:image: mysql:8.0.23container_name: mysql_1ports:- '12001:3306'command: --lower_case_table_names=1volumes:- /data/mysql_1/config:/etc/mysql/conf.d- /data/mysql_1/data:/var/lib/mysqlenvironment:- MYSQL_ROOT_PASSWORD=abc123456- TZ=Asia/Shanghainetworks:default:ipv4_address: 172.18.0.2privileged: truerestart: alwaysdeploy:resources:limits:memory: 400mmysql2:image: mysql:8.0.23container_name: mysql_2ports:- '12002:3306'command: --lower_case_table_names=1volumes:- /data/mysql_2/config:/etc/mysql/conf.d- /data/mysql_2/data:/var/lib/mysqlenvironment:- MYSQL_ROOT_PASSWORD=abc123456- TZ=Asia/Shanghainetworks:default:ipv4_address: 172.18.0.3privileged: truerestart: alwaysdeploy:resources:limits:memory: 400mmysql3:image: mysql:8.0.23container_name: mysql_3ports:- '12003:3306'command: --lower_case_table_names=1volumes:- /data/mysql_3/config:/etc/mysql/conf.d- /data/mysql_3/data:/var/lib/mysqlenvironment:- MYSQL_ROOT_PASSWORD=abc123456- TZ=Asia/Shanghainetworks:default:ipv4_address: 172.18.0.4privileged: truerestart: alwaysdeploy:resources:limits:memory: 400mmysql4:image: mysql:8.0.23container_name: mysql_4ports:- '12004:3306'command: --lower_case_table_names=1volumes:- /data/mysql_4/config:/etc/mysql/conf.d- /data/mysql_4/data:/var/lib/mysqlenvironment:- MYSQL_ROOT_PASSWORD=abc123456- TZ=Asia/Shanghainetworks:default:ipv4_address: 172.18.0.5privileged: truerestart: alwaysdeploy:resources:limits:memory: 400mmysql5:image: mysql:8.0.23container_name: mysql_5ports:- '12005:3306'command: --lower_case_table_names=1volumes:- /data/mysql_5/config:/etc/mysql/conf.d- /data/mysql_5/data:/var/lib/mysqlenvironment:- MYSQL_ROOT_PASSWORD=abc123456- TZ=Asia/Shanghainetworks:default:ipv4_address: 172.18.0.6privileged: truerestart: alwaysdeploy:resources:limits:memory: 400m
networks:default:external: truename: mynet

redis

version: '3'
services:redis:image: redis:6.0.10container_name: redisports:- '16379:6379'    command: ["redis-server","/usr/local/etc/redis/redis.conf"]volumes:- /root/redis/conf:/usr/local/etc/redisenvironment:- TZ=Asia/Shanghainetworks:default:ipv4_address: 172.18.0.9privileged: truerestart: alwaysdeploy:resources:limits:memory: 200m  
networks:default:external: truename: mynet

shell 命令创建redis mysql容器

docker-compose.yml 文件

version: '3'
services:mysql1:image: hub.c.163.com/library/mysql:5.7container_name: mysql_1ports:- '12001:3306'command: --lower_case_table_names=1volumes:- /root/mysql_1/config:/etc/mysql/conf.d- /root/mysql_1/data:/var/lib/mysqlenvironment:- MYSQL_ROOT_PASSWORD=kdzt123456.- TZ=Asia/Shanghainetworks:default:ipv4_address: 172.18.0.2privileged: truerestart: alwaysdeploy:resources:limits:memory: 400m  redis:image: redis:6.0.10container_name: redisports:- '16379:6379'    command: ["redis-server","/usr/local/etc/redis/redis.conf"]volumes:- /root/redis/conf:/usr/local/etc/redisenvironment:- TZ=Asia/Shanghainetworks:default:ipv4_address: 172.18.0.9privileged: truerestart: alwaysdeploy:resources:limits:memory: 200m
networks:default:external: truename: mynet

shell命令


echo -e "\e[1;31m 安装docker开始====> \e[0m"sudo yum install -y yum-utils device-mapper-persistent-data lvm2 -y \sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -y \sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y \echo -e "\e[1;31m 启动docker服务====> \e[0m"sudo systemctl start docker \systemctl enable docker \echo -e "\e[1;31m 安装docker-compose========> \e[0m" \sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \chmod +x /usr/local/bin/docker-compose \echo -e "\e[1;31m 设置docker-compose 软连接===========> \e[0m" \ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose \echo -e "\e[1;31m 开始创建容器======》 \e[0m"echo -e "\e[1;31m 创建redis.conf=====> \e[0m"sudo tee /root/redis/conf/redis.conf <<-'EOF'
bind 0.0.0.0
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile ""
databases 12
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
requirepass kdzt123456.
EOFecho -e "\e[1;31m 开始创建mysql、redis容器 \e[0m"docker-compose -f /root/docker/docker-compose.yml up -d
http://www.lryc.cn/news/103300.html

相关文章:

  • 【业务功能篇55】Springboot+easyPOI 导入导出
  • 对顶堆算法
  • node.js的优点
  • golang编译跨平台
  • 关于Spring的bean的相关注解以及其简单使用方法
  • 【计算机视觉】BLIP:源代码示例demo(含源代码)
  • TWILIGHT靶场详解
  • 【案例】--GPT衍生应用案例
  • Sip网络音频对讲广播模块, sip网络寻呼话筒音频模块
  • leetcode1219. 黄金矿工(java)
  • Svelte框架入门
  • 在linux中进行arm交叉编译体验tiny6410裸机程序开发流程
  • SpringBoot实战(二十三)集成 SkyWalking
  • 深度学习实践——卷积神经网络实践:裂缝识别
  • linux | vscode | makefile | c++编译和调试
  • Spring | Bean 作用域和生命周期
  • 培训(c++题解)
  • ansible-playbook编写 lnmp 剧本
  • 需求太多处理不过来?MoSCoW模型帮你
  • Vue 3:玩一下web前端技术(六)
  • 【点云处理教程】00计算机视觉的Open3D简介
  • Windows10系统还原操作
  • Django学习笔记-模板(Template)基础
  • 使用 NVM(Node Version Manager)管理 Node.js 版本
  • (文章复现)梯级水光互补系统最大化可消纳电量期望短期优化调度模型matlab代码
  • tinkerCAD案例:24. Ruler - Measuring Lengths 标尺 -量勺
  • linux系统编程重点复习--线程同步
  • 【Docker 学习笔记】Windows Docker Desktop 安装
  • getInputStream has already been called for this request 问题记录
  • 日撸代码300行:第60天(小结)