docker设置mysql db环境

yv5phkfx  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(392)

大家好,我正在安装一个新的wordpress docker机器,我正在配置我的sql数据库:

db:
    build:
      context: ./Docker/mysql
      dockerfile: Dockerfile
    container_name: mysql
    volumes:
       - db_data:/var/lib/mysql
    environment:
        MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
        MYSQL_DATABASE: "${DB_NAME}"
        MYSQL_USER: "${DB_USERNAME}"
        MYSQL_PASSWORD: "${DB_PASSWORD}"
    networks:
      - back

sql的dockerfile:

FROM mysql:latest

这也很好的工作问题是我不知道我应该在哪里设置环境道具,如db name user等。有什么建议吗?

svmlkihl

svmlkihl1#

可以将其设置为服务器上的环境变量,但如果不想这样做,可以为compose命令设置它们:

DB_ROOT_PASSWORD=asdf DB_NAME=mydb DB_USERNAME=user DB_PASSWORD=pw docker compose

你在评论中说你想在dockerfile中设置vars。下面是一个例子:

FROM mysql:latest

ENV MYSQL_ROOT_PASSWORD=asdf
ENV MYSQL_DATABASE=mydb
ENV MYSQL_USER=user
ENV MYSQL_PASSWORD=pw

如果不希望这些硬编码到dockerfile中,可以将它们与构建时参数结合使用。

FROM mysql:latest

ENV MYSQL_ROOT_PASSWORD=$db_root_pw
ENV MYSQL_DATABASE=$db_name
ENV MYSQL_USER=$db_username
ENV MYSQL_PASSWORD=$db_pw

在构建映像时,请确保包含以下参数:

docker build --build-arg db_root_pw=rootpw --build-arg db_name=mydb --build-arg db_username=user --build-arg db_pw=pw # [...]

相关问题