ฉันยังใหม่กับการใช้ PHPMyAdmin ใน docker ดังนั้นฉันจึงสามารถเรียกใช้คอนเทนเนอร์สำหรับ MySQL และ PHPMyAdmin ได้ แต่หลังจากรีสตาร์ทคอมพิวเตอร์ คอนเทนเนอร์ทั้งสองก็ออกจากระบบ
ฉันพยายามเรียกใช้ docker-compose up -d
อีกครั้งในไดเร็กทอรีที่มี dockerfile ของฉัน แต่ฉันได้รับข้อผิดพลาดเหล่านี้:
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:
เพื่อเลือกพอร์ตโฮสต์อื่น (ปล่อยให้หมายเลขที่สองเหมือนเดิม) การเชื่อมโยงข้อผิดพลาดนักเทียบท่า: ที่อยู่ที่ใช้งานอยู่แล้ว มีเคล็ดลับการแก้ไขจุดบกพร่องอื่นๆ - person David Maze   schedule 13.08.2020