我需要保存我的数据库从一个码头mysql容器,以便其他团队成员也可以工作。直到现在,我们才开始使用它,它运行得很好:
volumes:
- ./db/:/var/lib/mysql/
但是,/db文件夹非常混乱,因为/mysql文件夹包含了所有的mysql文件,而不仅仅是数据库。因此,我尝试只保存数据库文件夹:
volumes:
- ./db/:/var/lib/mysql/database/
但不幸的是,我一直收到这样的错误:
[ERROR] --initialize specified but the data directory has files
只需使用docker-Compose.yaml创建数据库服务:
# another db service for test
version: '3.5'
networks:
dockernet:
driver: bridge
services:
db:
image: mysql/mysql-server:5.5.62
restart: on-failure
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- ./mysql_dir:/var/lib/
我看到了docker-compose模式,但我很困惑。制作组合容器的最好方法是什么?什么时候应该使用link或volumes_from。我应该在什么时候使用volumes_from、volumes
#1应用程序-数据库-数据应用程序:映像:某些映像链接:- db //数据卷容器名称db:映像: mysql volumes_from:- data //数据卷名数据:映像:某些映像卷:-{主机数据}:{访客数据}
#2 app- db +data app: image: name image link:-db //数据卷容器名称db: image: mysql卷:- data //数据文件名
ap
我已经阅读了最近的帖子,但是找不到答案。
我想要的是建立创建的数据库,用户和一些其他数据自定义mysql映像。以下是我的Dockerfile(简化版):
FROM mysql:5.7
ENV MYSQL_ROOT_PASSWORD=root
RUN service mysql start && \
mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "CREATE DATABASE mydb;" && \
mysql -uroot -p$MYSQL_ROOT_PAS