Я использую следующий docker docker-compose.yaml:
version: '3.3'
services:
# Database
db:
image: mysql:latest
command: --default_authentication_plugin=mysql_native_password
ports:
- '3306:3306'
volumes:
- db_data:/var/lib/mysql
restart: on-failure
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: password
networks:
- wpsite
# phpmyadmin
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
restart: on-failure
ports:
- '8080:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: password
networks:
- wpsite
# Wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- '8081:80'
restart: on-failure
volumes: ['./:/var/www/html']
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: password
networks:
- wpsite
networks:
wpsite:
volumes:
db_data:
Я нахожусь на Ubuntu, и когда я его запускаю, все работает нормально. Затем я могу получить доступ к своему сайту WordPress с адреса localhost: 8081.
Это моя проблема, потому что для моей работы мне нужен URL-адрес без порта. В лучшем случае использовать какое-нибудь имя хоста.
Есть ли способ работы с докером для достижения этого?
Я уже безуспешно пытался сделать это следующим образом:
- Я добавил строку в файл / etc / hosts
127.0.0.1 mysite.com
- Я остановил apache2, чтобы освободить порт 80
sudo service apache2 stop
- Затем я настроил свой файл docker-compose.yaml для показа wordpress через порт 80 и запуска.
- обратная проверка:
sudo netstat -tulpn | grep :80
и да! Образ Wordpress работает на порту 80.
Затем, когда я пытаюсь зайти на localhost или mysite.com, меня сразу же перенаправляют на localhost: 8000, и браузер показывает мне, что страница не найдена. Что за черт?
Я расстроен, потому что мне действительно нужен адрес без порта. Буду рад любым советам о том, как этого добиться.