(我是docker的新手,请耐心等待)注意:我不使用卷,所以这个问题的答案不适用
为什么docker没有提交这些更改?
如果我做了手动更改(比如docker cp...或docker exec...或者甚至是在容器内),这些更改会很好地被提交。我花了整整两天的时间在这上面,任何帮助都是感激的。
docker-compose.yml:
version: '3.8'
networks:
frontend:
backend:
services:
mysql_db:
container_name: mysql
image: mysql_me:latest
command: mysqld --innodb-buffer-pool-size=20M
restart: on-failure
environment:
MYSQL_DATABASE: 'joomla'
MYSQL_USER: 'joomla_user'
MYSQL_PASSWORD: 'JPassword'
MYSQL_ROOT_PASSWORD: 'RPassword'
MYSQL_ROOT_HOST: '%'
ports:
- '3306:3306'
expose:
- '3306'
networks:
- backend
joomla:
container_name: joomla
image: joomla_me:latest
restart: always
ports:
- "443:443"
- "8080:80"
environment:
JOOMLA_DB_HOST: 'mysql_db:3306'
JOOMLA_DB_USER: 'joomla_user'
JOOMLA_DB_PASSWORD: 'JPassword'
JOOMLA_DB_NAME: 'joomla'
links:
- mysql_db:3306
networks:
- frontend
- backend
depends_on:
- mysql_db
正如David Maze所指出的,我正在构建的原始映像已经在使用卷,所以我的自定义映像“继承”了那些卷--尽管我没有在自己的yaml文件中显式声明任何卷。在我搜索的任何地方都找不到文档,所以我希望这能对其他初学者有所帮助。