我试图找出是否可以在以下条件下为MySQL创建单独的Docker容器:
我只使用Docker文件成功完成了数字#1和#2,但没有使用docker-compose,我试图通过研究一个工作示例来减少学习曲线。关于#3,我不确定它是否可行。我想到了一个符号链接,但并不确定。
谢谢。
答案 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"
答案 1 :(得分:0)
您可以而且应该在单独的容器中运行MySQL。您可以将其创建为单独的docker镜像,或者从同一个docker镜像运行两个单独的容器。容器可以从docker-compose或bash启动。
在docker(v1.0)的早期版本中,我对docker卷的体验并不乐观。直到今天,我使用 -v 挂载用于持久数据存储的主机操作系统,这对我来说效果很好。 -v 选项允许使用主机操作系统数据文件夹。