Jay*_*Jay 0 nginx docker docker-compose docker-container jwilder-nginx-proxy
我正在尝试使用Nginx-Proxy在 Ubuntu VPS 上的 docker 容器内运行 WordPress 网站。
我创建了以下docker-compose.yml文件
version: '3.4'
services:
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
ports:
- 80:80
- 443:443
restart: always
networks:
- nginx-proxy
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- /etc/nginx/vhost.d:/etc/nginx/vhost.d:ro
- /etc/certificates:/etc/nginx/certs
wordpress:
image: wordpress
container_name: wordpress
restart: always
ports:
- 8080:80
environment:
- VIRTUAL_HOST=wordpress.domain.com
- VIRTUAL_PORT=5500
- WORDPRESS_DB_HOST=db
- WORDPRESS_DB_USER=db_username
- WORDPRESS_DB_PASSWORD=db_password
- WORDPRESS_DB_NAME=db_name
depends_on:
- nginx-proxy
- db
networks:
- nginx-proxy
volumes:
- wordpress:/var/www/html
ports:
- 5500:5500
expose:
- 5500
db:
image: mysql:latest
container_name: db
restart: always
environment:
MYSQL_DATABASE: db_name
MYSQL_USER: db_username
MYSQL_PASSWORD: db_password
MySQL_RANDOM_ROOT_PASSWORD: '1'
depends_on:
- nginx-proxy
networks:
- nginx-proxy
volumes:
- db:/var/lib/mysql
ports:
- 5600:5600
expose:
- 5600
volumes:
wordpress:
db:
Run Code Online (Sandbox Code Playgroud)
每次运行时docker-compose up都会出现以下错误
服务“nginx-proxy”使用未定义的网络“nginx-proxy”
我使用以下命令创建了一个网络
docker network create nginx-proxy
Run Code Online (Sandbox Code Playgroud)
这是输出docker network ls
为什么我会收到该错误?我该如何修复它?
您在每个服务networks:块中命名的任何内容都需要在顶级networks:块中声明。
version: '3.4'
services:
nginx-proxy:
networks:
- nginx-proxy # <-- matches below
volumes: { ... }
networks:
nginx-proxy: # <-- matches above
# may be empty, but this block is required
Run Code Online (Sandbox Code Playgroud)
networks:如果您根本没有声明任何内容,Compose会创建一个名为 的网络default并将容器附加到它。对于几乎所有用途,这都是您所需要的。因此,完全删除这些networks:块可能会更简单。
version: '3.4'
services:
nginx-proxy:
image: jwilder/nginx-proxy
# No networks:; just use automatic [default]
Run Code Online (Sandbox Code Playgroud)
(同样,您不需要手动向Compose 级别的端口提供container_name:, 或。)expose:
| 归档时间: |
|
| 查看次数: |
5147 次 |
| 最近记录: |