我正在尝试使用 docker-compose.yml
文件创建一个新的 Docker 镜像。这是我的 docker-compose.yml
文件。
version: '3.6'
services:
php-fpm:
build:
context: ./images/php-fpm/
dockerfile: Dockerfile
container_name: lempdock_php-fpm_1
volumes:
- ./www:/var/www
depends_on:
- redis
- mysql
nginx:
build:
context: ./images/nginx
dockerfile: Dockerfile
container_name: lempdock_nginx_1
ports:
- "80:80"
- "443:443"
volumes:
- ./www:/var/www
- ./images/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./images/nginx/sites/:/etc/nginx/sites-available
- ./images/nginx/conf.d/:/etc/nginx/conf.d
external_links:
- lemp_dock_nginx_1
depends_on:
- php-fpm
mysql:
build:
context: ./images/mysql
dockerfile: Dockerfile
container_name: lempdock_mysql_1
restart: always
volumes:
- ./data/mysql:/var/lib/mysql
external_links:
- lempdock_mysql_1
ports:
- "33066:3306"
expose:
- 3306
redis:
image: redis
container_name: lempdock_redis_1
ports:
- "6379:6379"
volumes:
- ./data/redis:/data/redis
external_links:
- lempdock_redis_1
这是我的文件夹结构
- /data
---- /mysql
---- /redis
- /images # contain other sub foldes with Dockerfile
- /lemp
-/www # to contain my souce code
根据我的 docker-compose.yml
文件,我的根目录中的 www
文件夹已安装并与 php-fpm
和 nging
docker 镜像,但我的 mysql
数据未与 data/mysql
文件夹同步。
我在这里缺少什么以及如何将我的 MySQL 数据文件夹安装到我的主机 data/mysql
文件夹?
这是 Github 链接 https://github.com/arifulhb/lempdock如果有人想看看这个。
最佳答案
您的 docker-compose
配置没问题,没有理由不工作。
可能存在权限问题或类似问题,具体取决于您使用的平台。如果您从头开始(git clone
、docker-compose up
),它应该可以工作。
关于mysql - Docker Compose volume 不为 mysql 镜像挂载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55146149/