docker-compose.yml 配置出错?

我的docker-compose.yml文件中有关mysql服务的配置如下,我想将/app/mysql/conf/mycnf/my.cnf挂载与/etc/my.cnf想对应,但是这里在volumes:下配置相当于目录了,不是文件,该怎么弄才能让文件相对应?

#mysql服务
  mysql:
    image: mysql:8.0.19
    environment:
      MYSQL_ROOT_PASSWORD: 96309630
      MYSQL_ALLOW_EMPTY_PASSWORD: 'no'
      MYSQL_DATABASE: 'lxl_blog'
      MYSQL_USER: 'root'
      MYSQL_PASSWORD: 96309630
    ports:
       - "3306:3306"
    volumes:
       - /app/mysql/db:/var/lib/mysql
       - /app/mysql/conf/mycnf/my.cnf:/etc/my.cnf
       - /app/mysql/init:/docker-entrypoint-initdb.d
    networks:
      - blog_network
    command: --default-authentication-plugin=mysql_native_password #解决外部无法访问
阅读 2k
1 个回答

这篇文章你可以看看:https://juejin.cn/post/7221131955201572919#heading-1
docker-compose讲解与安装 :https://juejin.cn/post/7220730324752859195

version: '3'
services:

  mysql:
    image: mysql:5.7.35 #镜像名称以及版本
    restart: always #重启docker后该容器也重启
    container_name: mysql #容器名称
    environment:
      MYSQL_ROOT_PASSWORD: 123456 #指定用户密码
      TZ: Asia/Shanghai
    ports:
      - 3306:3306 #本地端口号与容器内部端口号
    volumes: #指定挂载目录
      - /usr/etc/mysql/datadir:/var/lib/mysql
      - /usr/etc/mysql/config/my.cnf:/etc/mysql/my.cnf
    command: 
      --max_connections=1000
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --default-authentication-plugin=mysql_native_password
  redis:
    image: redis:4.0.7  #镜像名称以及版本
    restart: always  #重启docker后该容器也重启
    container_name: redis #容器名称
    ports:
      - 6379:6379 #本地端口号与容器内部端口号
    volumes: #指定挂载目录
      - /usr/etc/redis/redis.conf:/usr/local/etc/redis/redis.conf  #redis.conf文件和data目录分别映射了主机的redis.conf文件和主机的data目录
      - /usr/etc/redis/data:/data
    command:
      /bin/bash -c "redis-server /usr/local/etc/redis/redis.conf " #使用command可以覆盖容器启动后默认执行的命令。这里启动执行指定的redis.conf文件
  nginx:
    image: nginx:1.21.3 #镜像名称以及版本
    restart: always #重启docker后该容器也重启
    container_name: nginx #容器名称
    ports:
      - 80:80 #本地端口号与容器内部端口号
      - 443:443 #本地端口号与容器内部端口号
    volumes: #指定挂载目录
      - ./usr/etc/nginx/html:/usr/share/nginx/html
      - ./usr/etc/nginx/log:/var/log/nginx
      - ./usr/etc/nginx/conf:/etc/nginx/
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题