Рабочий процесс Docker для запуска mysql и phpmyadmin?

Я новичок в использовании PHPMyAdmin в докере, поэтому мне удалось запустить контейнеры для MySQL и PHPMyAdmin, но после перезагрузки компьютера оба контейнера вышли.

Я попытался снова запустить docker-compose up -d в каталоге, содержащем мой файл докеров, но я получаю следующие ошибки:

Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use

Error starting userland proxy: listen tcp 0.0.0.0:8080: bind: address already in use

После этого я попытался запустить docker-compose down, который удалит два контейнера, но docker-compose up по-прежнему не может перезапустить два контейнера из-за этих ошибок.

Я также пытался вызвать sudo kill -9 PID для процесса MySQL, работающего на порту 3306, но каждый раз, когда я вызываю его, на этом порту остается процесс.

Третье, что я пробовал, — это docker-compose rm и удаление этих контейнеров перед повторным запуском docker-compose up -d, а также перезапуск docker-compose, но я все еще сталкиваюсь с этой ошибкой.

Есть ли правильный способ перезапустить контейнеры, которые я использую? Или я неправильно понимаю стандарт запуска контейнеров докеров?

РЕДАКТИРОВАТЬ: это мой docker-compose.yaml:

version: "3.7"
services:
  mysql-server:
    image: mysql:8.0.19
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: secret
    volumes:
      - mysql-data:/var/lib/mysql
    ports:
      - "3306:3306"
   
  phpmyadmin:
    image: phpmyadmin/phpmyadmin:5.0.1
    restart: always
    environment:
      PMA_HOST: mysql-server
      PMA_USER: root
      PMA_PASSWORD: secret
    ports:
      - "8080:80"
volumes:
  mysql-data:

person Anonymous    schedule 13.08.2020    source источник
comment
Можете ли вы попробовать запустить docker-compose down в каталоге вашего проекта и повторить попытку?   -  person kabirbaidhya    schedule 13.08.2020
comment
Я пробовал это, и все же я получаю эти ошибки.   -  person Anonymous    schedule 13.08.2020
comment
Эта ошибка означает, что что-то еще на хосте уже использует этот порт. Это может быть другая установка Docker или установка MySQL, работающая непосредственно на хосте. Вы можете изменить первый номер ports:, чтобы выбрать другой хост-порт (второй номер оставить прежним). Привязка ошибки Docker: адрес уже используется содержит несколько других советов по отладке.   -  person David Maze    schedule 13.08.2020