单独的MySQL Docker容器

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

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

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

谢谢。

正如你已经完成了#1和#2和关于#3点,是的,你可以挂载主机卷到容器卷,它可以通过docker-compose运行。

docker compose是用于运行多个容器并configuration这些容器的工具.Docker组合使用.yml文件进行configuration。

您需要先从dockerfile创builddocker镜像然后安装docker-compose

https://docs.docker.com/compose/install/#install-compose

然后创build.yml文件并定义如下所示的mysqlconfiguration。

  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/

你可以也应该在单独的容器中运行MySQL。 您可以将其创build为单独的泊坞窗图像,或者从同一个泊坞窗图像运行两个单独的容器。 容器可以从docker-compose或bash启动。

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