ubuntu - 单独的 MySQL Docker 容器

标签 ubuntu docker docker-compose

我正在尝试找出是否可以为 MySQL 制作一个单独的 Docker 容器,并且满足以下条件:

  1. 使用 docker-compose 进行构建
  2. 使用主机的操作系统
  3. 使用主机的 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"

https://docs.docker.com/compose/overview/

关于ubuntu - 单独的 MySQL Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47949221/

相关文章:

java - 制作 :/bin/javac: Command not found

用于取消当前(以及所有后续)脚本的 Bash 退出选项

ubuntu、zookeeper 和 pid ......它在哪里 - 它需要监控吗?

node.js - Jenkins 、Docker、Kubernetes、AWS EKS : RUN npm install either hangs or produces EAI_AGAIN

bash - 如何在Docker CLI中运行参数化的bash脚本

django - 启动Docker容器并同时启动django项目

postgresql - 连接本地 postgres 数据库时,docker pgAdmin4 连接被拒绝

Linux 内核/操作系统源代码文档?

Kubernetes 上的 Docker nginx 反向代理

docker - 如何在docker overlay2中使 native 覆盖差异为假?