我第一次运行 docker-compose up 时,docker 创建了组件,但是,当我只想启动容器并运行 docker-compose start 时重新启动后,我收到以下错误:
ERROR: for mysqldb Cannot start service db: OCI runtime create failed: container with id exists: xxxxxxx
如果我删除容器并再次运行 docker-compose up 它可以工作,但是每次我重新启动计算机时我都必须重新创建容器,这是为什么?过去我可以通过运行 docker-compose start 来挂载容器,而现在我似乎每次都必须重新创建它们。
我创建了以下 docker-composer.yml:
version: '3.3'
services:
# Database
db:
image: mysql:5.7
container_name: mysqldb
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
DB_HOST: localhost
MYSQL_ROOT_PASSWORD: testing
MYSQL_DATABASE: testing
MYSQL_USER: root
MYSQL_PASSWORD: testing
networks:
- testingnetwork
ports:
- "3307:3306"
# phpmyadmin
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
restart: always
ports:
- '8181:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: testing
networks:
- testingnetwork
# Wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- '8080:80'
restart: always
container_name: testing_wordpress
volumes:
- ./public/:/var/www/html
environment:
WORDPRESS_DB_NAME: testing
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: testing
WORDPRESS_CONFIG_EXTRA: define('WP_ALLOW_MULTISITE', true );
hostname: testing.org.local
labels:
com.theimpossiblecode.expose.domain: "testing.org.local"
com.theimpossiblecode.expose.domainIsHost: "true"
networks:
testingnetwork:
aliases:
- testing.org.local
networks:
testingnetwork:
volumes:
db_data:
答案 0 :(得分:0)
如果我在环境中为 MYSQL_USER 设置“root”,我会收到错误消息。 然后我改了MYSQL_USER:测试,效果很好。