单独的MySQL Docker容器

问题描述 投票:1回答:2

我试图找出是否可以使用以下条件为MySQL创建单独的Docker容器:

  1. 使用docker-compose进行构建
  2. 使用主机的操作系统
  3. 使用主机的MySQL文件夹来保存数据

我只使用Docker文件成功完成了数字#1和#2,但没有使用docker-compose,我试图通过研究一个工作示例来减少学习曲线。关于#3,我不确定是否可能。我正在考虑一个符号链接,但不是很确定。

谢谢。

ubuntu docker docker-compose
2个回答
1
投票

正如您已经使用#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/


0
投票

您可以而且应该在单独的容器中运行MySQL。您可以将其创建为单独的docker镜像,或者从同一个docker镜像运行两个单独的容器。容器可以从docker-compose或bash启动。

在docker(v1.0)的早期版本中,我对docker卷的体验并不乐观。直到今天,我使用-v安装主机操作系统以进行持久数据存储,这对我来说效果很好。 -v选项允许使用主机OS数据文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.