首页 > 其他分享 >Doker:最新docker-compose操作

Doker:最新docker-compose操作

时间:2023-12-01 15:46:57浏览次数:47  
标签:compose 网段 自定义 mysql services docker Doker

1. docker compose说明

目前docker新版本已经集成docker compose工具,直接使用"docker compose"命令就可以操作

2. docker-compose.yml文件说明

docker compose命令的运行需要docker-compose.yml文件的支持,可以指定文件位置,也可以在文件同目录运行命令

docker-compose.yml 示例文件

version: "3.8"
networks:
  my_net:
    name: my_net
    ipam:
      config:
        - subnet: 172.19.8.0/24
services:
  mysql:
    container_name: sc-mysql
    image: mysql:8
    restart: always
    environment:
      TZ: Asia/Shanghaidoc        # 配置时间为上海时间
      MYSQL_ROOT_PASSWORD: sc@123456        # 配置mysql密码
      MYSQL_ROOT_HOST: '%'        # 设置用户开启远程连接
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "10"            # 设置日志文件个数
    ports:
      - 13306:3306
    networks:
      my_net:
        ipv4_address: 172.19.8.100
    command: [
      '--character-set-server=utf8mb4',    # 设置库的字符集
      '--collation-server=utf8mb4_general_ci',    # 默认排序方式
      '--default-authentication-plugin=mysql_native_password'    # 远程登录密码与用户设置的密码一致
    ]
    volumes:
      - /home/mysql/data:/var/lib/mysql    # 挂载mysql数据
      - /home/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf    # 挂载mysql配置文件

  system:
    container_name: base-system
    build:
      context: /home/compose/service/
      dockerfile: DockerFile-system
    restart: always
    ports:
      - 9206:9206
    networks:
      my_net:
        ipv4_address: 172.19.8.206

version

  compose文件格式版本,主要有3个版本(1.X、2.X、3.X)

networks

  配置自定义网段,配置之前需要查看docker当前网段有那些,不能重复配置

networks : my_net

  自定义网段名称,用于后续容器配置网段

networks : name

  指定自定义网段名称,用于后续容器配置网段

networks : ipam : config : - subnet

   指定网段

services

  services下面就是需要构建和启动的镜像服务

services : 自定义名称

  自定义名称mysql,用于compose管理服务的名称,不是容器名称;每个服务第一行都要有名称

services : 自定义名称 : container_name

  自定义容器名称,用于docker容器管理的自定义名称

services : 自定义名称 : image

  指定镜像创建并启动容器,每个服务运行方式只能通过image与build二选一

services : 自定义名称 : build

  通过Dockerfile文件构建镜像并启动容器,每个服务运行方式只能通过image与build二选一

services : 自定义名称 : build : context

  指定Dockerfile文件的路径,是目录路径不是文件路径

services : 自定义名称 : build : dockerfile

  指定Dockerfile文件名称,与上面context一起配置,用于查找Dockerfile文件地址

services : 自定义名称 : restart

  配置容器自启,restart: always

services : 自定义名称 : environment

  添加环境变量,通过 - 可以设置多个值

services : 自定义名称 : ports

  端口映射,通过 - 可以设置多个映射端口,- 2020:2020/tcp - 3425:3425/udp

services : 自定义名称 : networks

  配置当前容器服务的ip

services : 自定义名称 : networks : 网段名 : ipv4_address

  配置具体网段内的固定ip

services : 自定义名称 : volumes

  配置服务文件与宿主机挂载映射

services : 自定义名称 : command

  配置容器启动后默认执行的命令

 

3. 多compose文件共用networks网段

version: "3.8"
networks:
  # 共用其他compose的网段
  higentec_net:
    external: true
services:
    ..........

4. docker compose常用命令

## 构建镜像并启动文件内配置的所有容器
docker compose up

## 构建镜像并启动所有容器,后台运行
docker compose up -d

## 停止并删除所有容器
docker compose down

## 重启所有服务
docker compose restart

## 启动服务
docker compose start

## 停止服务
docker compose stop

## 展示当前docker compose编排过并运行的所有容器(在docker-compose.yml文件同目录下运行)
docker compose ps

## 检查docker-compose.yml文件
docker compose config

## 检查docker-compose.yml文件,有问题就输出
docker compose config -q

 

文章转载至:https://blog.csdn.net/pcxiaoke/article/details/130977715

标签:compose,网段,自定义,mysql,services,docker,Doker
From: https://www.cnblogs.com/nhdlb/p/17869834.html

相关文章

  • docker 安装 mysql
    1.拉取镜像sudodockerpullmysql2.创建mysql配置文件目录mkdir-p/opt/module/mysql/conf/opt/module/mysql/data /opt/module/mysql/conf/config.d/3.创建mysql配置文件touch/opt/module/mysql/conf/my.cnf4.对3my.cnf添加配置,如果mysql状态一直......
  • docker 安装
    1.卸载旧版本的dockersudoapt-getremovedockerdocker-enginedocker.iocontainerdrunc2. 如果您想保留现有数据,那么直接进入下一步即可。如果您不想保留现有数据(可选),如image、container、volume等,执行下面的命令,相比remove命令,purge会同时清除软件包和软件的配置文......
  • Docker 的一些常见命令
    dockerimagesdockerrim(后面跟dockerimagename,或者imageid)dockerbuilddockerbuild--tagimageName.//将当前目录下的dockerfilebuild成imageName的最新版本dockerpushdockerpushrepoName/imageName//将本地制作的镜像push到仓库中官方文......
  • Windows使用命令行方法,实现docker默认安装目录修改及更改docker镜像默认保存路径
    一、使用软连接方法,修改Docker默认安装目录查看Windows上安装DockerDesktop官方安装指南:https://docs.docker.com/desktop/install/windows-install/  1、提前在D盘新建Program\Docker,使用这行代码安装:"DockerDesktopInstaller.exe"install--installation-dir......
  • Docker部署Typecho
    一、简介Typecho是由type和echo两个词合成的,来自于开发团队的头脑风暴。Typecho基于PHP5开发,支持多种数据库,是一款内核强健﹑扩展方便﹑体验友好﹑运行流畅的轻量级开源博客程序。选用Typecho,搭建独一无二个人网络日志发布平台,享受创作的快乐。二、搭建Typecho绿联DX4600......
  • Docker 安装 Redis 容器 (完整详细版)
    1、获取Redis镜像Docker如果想安装软件,必须先到Docker镜像仓库下载镜像。Docker镜像仓库2、下载Redis镜像命令描述dockerpullredis下载最新版Redis镜像(其实此命令就等同于:dockerpullredis:latest)dockerpullredis:xxx下载指定版本的Redis......
  • ubuntu18 离线安装docker
    1下载文件,将下载的文件保存到/data下 安装unzip升级libseccomp2到2.5.1以上2安装dockersudomkdir/data/installsudomv/data/docker_install20231126_1804_amd64.zip/data/installcd/data/installsudounzipdocker_install20231126_1804_amd64.zipsudodpkg-i./c......
  • Docker安装mysql配置my.cnf并挂载到外部机器
    1.环境准备,创建外部挂载文件夹conf,data,logmkdir-p/data/dockerdata/mysql3306/{conf,data,log}2.在/data/dockerdata/mysql3306/conf文件夹下创建my.cnf文件my.conf文件配置如下[mysqld]#Mysql服务的唯一编号每个mysql服务Id需唯一server-id=1#服务端口号默认3306......
  • Docker中创建ES集群并修改默认用户密码-sunziren
    注1,本文参考了https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html注2,本文这种搭建的方式,适用于开发环境,不适用与生产环境,生产环境要用Docker搭建ES集群,请使用docker-compose命令#创建docker内部网络elasticdockernetworkcreateelastic#下面三条命......
  • docker 一键搭建 MySQL 主从集群
    分享一个GitHub项目,用来一键搭建MySQL的主从集群的:https://github.com/vbabak/docker-mysql-master-slave前面Google了一下没找到,搜出来的都是需要自己手动调操作过的,本来想自己写一个的,让GPT取了个名字,结果一搜就搜到了现成了......