Я новичок в использовании 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:
docker-compose down
в каталоге вашего проекта и повторить попытку? - person kabirbaidhya   schedule 13.08.2020ports:
, чтобы выбрать другой хост-порт (второй номер оставить прежним). Привязка ошибки Docker: адрес уже используется содержит несколько других советов по отладке. - person David Maze   schedule 13.08.2020