Docker-composer 错误:无法启动服务数据库:OCI 运行时创建失败:具有 ID 的容器存在

时间:2021-01-20 15:11:29

标签: docker docker-compose

我第一次运行 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:

1 个答案:

答案 0 :(得分:0)

如果我在环境中为 MYSQL_USER 设置“root”,我会收到错误消息。 然后我改了MYSQL_USER:测试,效果很好。

相关问题