如何用Docker启动现有的WordPress的应用程序图像不是默认的80端口?
可能有人知道如何解决我的问题?
如果我使用我现有的应用程序的WP – 内容和现有的数据库,每一次我redirect到本地主机:80端口。 如何在另一个端口启动它,例如可能是8000?
我有一个Wordpress应用程序Dockerfile与下一行:
FROM wordpress:latest COPY ./src /var/www/html ENV WORDPRESS_DB_PASSWORD mypass ENV WORDPRESS_DB_NAME mydb ENV WORDPRESS_DB_HOST mysql:3306
具有现有数据库转储的MySQL Dockerfile:
FROM mariadb:10.1.20 COPY dump/dump.sql /docker-entrypoint-initdb.d ENV MYSQL_ROOT_PASSWORD mypass CMD ["mysqld"]
和docker-compose.yml一起:
version: '2' services: mysql: build: mysql/ restart: always volumes: - db_data:/var/lib/mysql wordpress: depends_on: - mysql build: wpapp/ ports: - 8000:80 restart: always volumes: db_data:
感谢大家的帮助!
在你的wp-config.php中用这些行覆盖数据库siteurl和homeurl vales:
define('WP_HOME', 'http://localhost:8000/'); define('WP_SITEURL', 'http://localhost:8000/');
经过多次testing,我可以回顾一下如何解决这个问题。
-
在这种情况下,我们需要在db table wp_options中用option_names
siteurl
改变2行的option_value,并且在home
改变http://localhost:8000
。 -
我们需要触发dockerbuild立到容量与MySQL容器。
docker-compose down -v
可选的干净dockercaching
docker rm $(docker ps -aq)
docker volume rm $(docker volume ls -q)
docker rmi $(docker images -q)
这不是课程的select
docker-compose up -d --build
-
最主要的是手动清理浏览器caching,因为它调用更快的redirect,然后caching清理,如果我们在Safari中使用
CMD + R
,并且看起来没有任何变化后工作。