Контейнер докеров MariaDB в CentOS не запускается

У меня есть следующий docker-compose:

version: "2"
services:
  webserver:
    image: orsolin/docker-php-5.3-apache
    environment:
      ALLOW_OVERRIDE: "true"
      HTTP_PROXY: "${HTTP_PROXY}"
      HTTPS_PROXY: "${HTTPS_PROXY}"
      NO_PROXY: "${NO_PROXY}"
    ports:
      - "8000:80"
    depends_on:
      - db
    volumes:
      - ./app:/var/www/html/

  db:
    image: centos/mariadb-102-centos7
    restart: always
    volumes:
      - ./mysql:/var/lib/mysql/:rw
    environment:
      MYSQL_ROOT_PASSWORD: *redacted*
      MYSQL_USER: *redacted*
      MYSQL_PASSWORD: *redacted*
      MYSQL_DATABASE: *redacted*
      HTTP_PROXY: "${HTTP_PROXY}"
      HTTPS_PROXY: "${HTTPS_PROXY}"
      NO_PROXY: "${NO_PROXY}"
    ports:
      - "8889:3306"

  adminer:
    image: adminer
    restart: always
    environment:
      ADMINER_DEFAULT_DB_DRIVER: mysql
      ADMINER_DEFAULT_DB_HOST: mariadb
      ADMINER_DEFAULT_DB_NAME: adminer
      ADMINER_DESIGN: nette
      ADMINER_PLUGINS: tables-filter tinymce
      HTTP_PROXY: "${HTTP_PROXY}"
      HTTPS_PROXY: "${HTTPS_PROXY}"
      NO_PROXY: "${NO_PROXY}"
    ports:
      - "8282:8080"

После запуска docker-compose up -d, контейнер продолжает перезапускаться, и я вижу следующее при запуске журналов докеров --tail 50 --follow --timestamps 01e2489d4526

2019-07-11T10:03:45.554517000Z 2019-07-11 10:03:45 140548938721472 [Note] Plugin 'FEEDBACK' is disabled.
2019-07-11T10:03:45.559329000Z 2019-07-11 10:03:45 140548938721472 [Note] Server socket created on IP: '::'.
2019-07-11T10:03:45.559835000Z 2019-07-11 10:03:45 140548938721472 [ERROR] Can't start server : Bind on unix socket: Permission denied
2019-07-11T10:03:45.560319000Z 2019-07-11 10:03:45 140548938721472 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
2019-07-11T10:03:45.560796000Z 2019-07-11 10:03:45 140548938721472 [ERROR] Aborting

И это докер ps output: CONTAINER ID IMAGE

    COMMAND                  CREATED             STATUS                         PORTS                    NAMES
8d7e8d571a1b        orsolin/docker-php-5.3-apache   "apache2-foreground"     7 minutes ago       Up 7 minutes                   0.0.0.0:8000->80/tcp     docker_webserver_1
5f0b1bb872c7        adminer                         "entrypoint.sh doc..."   7 minutes ago       Up 7 minutes                   0.0.0.0:8282->8080/tcp   docker_adminer_1
01e2489d4526        centos/mariadb-102-centos7      "container-entrypo..."   7 minutes ago       Restarting (1) 2 minutes ago                            docker_db_1

Как мне исправить это, имея в виду, что мне нужно будет подключиться к контейнеру mariadb и из других контейнеров?

Спасибо

0
задан 11 July 2019 в 13:10
3 ответа

Когда SELinux включен, тома ваших контейнеров должны быть помещены в подкаталоги / var / lib / docker / volume . Тома в вашем домашнем каталоге будут иметь контексты SELinux, которые не позволяют контейнерам Docker получать к ним доступ.

1
ответ дан 4 December 2019 в 13:19

Вам нужно выключить контейнер, удалить ./ mysql / mysql.sock с хоста и запустить его снова. По какой-то причине там уже есть файл сокета, и его необходимо удалить для правильного запуска службы.

1
ответ дан 4 December 2019 в 13:19

Ошибка очевидна, вам нужно либо остановить другую службу mysql, либо изменить порт в файле конфигурации:

[mysqld]

порт = 1234

0
ответ дан 4 December 2019 в 13:19

Теги

Похожие вопросы