单独的MySQL Docker容器

时间:2017-12-23 02:18:54

标签: ubuntu docker docker-compose

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

  1. 使用docker-compose进行构建
  2. 使用主机操作系统
  3. 使用主机的MySQL文件夹保存数据
  4. 我只使用Docker文件成功完成了数字#1和#2,但没有使用docker-compose,我试图通过研究一个工作示例来减少学习曲线。关于#3,我不确定它是否可行。我想到了一个符号链接,但并不确定。

    谢谢。

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

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

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