我正在遵循一个教程:https://www.youtube.com/watch?v=mSnte-Ovm10,直到安装 MySQL docker 容器为止,一切都工作正常。然而,关于端口 3360 上这个 docker 容器的可用性,我收到了矛盾的反馈。注意,我已经停止了通常在这个端口上运行的本地 MySQL 服务器。
docker ps
给出以下输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
58869367610a nginx:1.19-alpine "/docker-entrypoint.…" 5 minutes ago Up 5 minutes 0.0.0.0:8001->80/tcp, :::8001->80/tcp gio-nginx
2bcf8d265bf2 docker_app "docker-php-entrypoi…" 5 minutes ago Up 5 minutes 9000/tcp gio-app
3ea3b89372dd mysql:8.0 "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 3306/tcp, 33060/tcp gio-db
运行
sudo netstat -tunpl
给出:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 55403/docker-proxy
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 841/systemd-resolve
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 15017/cupsd
tcp6 0 0 :::8001 :::* LISTEN 55412/docker-proxy
tcp6 0 0 ::1:631 :::* LISTEN 15017/cupsd
tcp6 0 0 :::8443 :::* LISTEN 1072/apache2
tcp6 0 0 :::80 :::* LISTEN 1072/apache2
udp 0 0 127.0.0.53:53 0.0.0.0:* 841/systemd-resolve
udp 0 0 0.0.0.0:631 0.0.0.0:* 15018/cups-browsed
udp 0 0 224.0.0.251:5353 0.0.0.0:* 5532/chrome
udp 0 0 224.0.0.251:5353 0.0.0.0:* 5532/chrome
udp 0 0 0.0.0.0:5353 0.0.0.0:* 882/avahi-daemon: r
udp 0 0 0.0.0.0:50766 0.0.0.0:* 882/avahi-daemon: r
udp6 0 0 :::41086 :::* 882/avahi-daemon: r
udp6 0 0 fe80::a590:5613:df0:546 :::* 890/NetworkManager
udp6 0 0 :::5353 :::* 882/avahi-daemon: r
没有提到端口3360
这是我的 YML 文件:
version: "3.3"
services:
app:
build:
context: ./
dockerfile: dockerfile
container_name: gio-app
restart: always
working_dir: /var/www
volumes:
- ../src:/var/www
nginx:
image: nginx:1.19-alpine
container_name: gio-nginx
restart: always
ports:
- "8001:80"
volumes:
- ../src:/var/www
- ./nginx:/etc/nginx/conf.d
db:
container_name: gio-db
image: mysql:8.0
volumes:
- ./storage/mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
ports:
-3306:3306
当我尝试与 MySQL Workbench 建立连接时,应用程序崩溃了。我尝试连接端口 3360 和 33060。没有乐趣。
我跑步
docker system prune
是为了一个新的开始。
我非常感谢所提供的任何帮助。预先感谢。
您的端口未映射,因为您的
ports:
缩进已关闭。
而不是
db:
container_name: gio-db
image: mysql:8.0
volumes:
- ./storage/mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
ports:
-3306:3306
应该是
db:
container_name: gio-db
image: mysql:8.0
volumes:
- ./storage/mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
ports:
- 3306:3306