我正在尝试找出是否可以为 MySQL 制作一个单独的 Docker 容器,并且满足以下条件:
- 使用 docker-compose 进行构建
- 使用主机的操作系统
- 使用主机的 MySQL 文件夹保存数据
我仅使用 Docker 文件成功完成了#1 和#2,但没有使用 docker-compose,我正在尝试通过研究一个工作示例来缩短学习曲线。关于#3,我不太确定这是否可能。我正在考虑一个符号链接(symbolic link),但不太确定。
谢谢。
最佳答案
正如您已经完成的#1和#2以及关于#3点一样,是的,您可以将主机卷安装到容器卷,并且可以通过docker-compose运行它。
docker compose是用于运行多个容器并配置这些容器的工具。Docker compose使用.yml文件进行配置。
您需要首先从 dockerfile 创建 docker 镜像,然后安装 docker-compose
https://docs.docker.com/compose/install/#install-compose
然后创建 .yml 文件并定义 mysql 配置,如下所示。
mysqldb:
image: mysql
container_name: ${MYSQL_HOST}
restart: always
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
ports:
- "3306:3306"
volumes:
- "./data/db/mysql:/var/lib/mysql"
关于ubuntu - 单独的 MySQL Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47949221/