Docker 启动 WordPress

wanxger1 分钟阅读

mysql

docker run
–name wordpress-mysql
–restart always
–env MYSQL_DATABASE=egeeke
–env MYSQL_USER=egeeke
–env MYSQL_PASSWORD=gj038f7BOw3iTiTpf$wTWt%lVhxO1MGB
–env MYSQL_RANDOM_ROOT_PASSWORD=yes
–volume /data/mysql:/var/lib/mysql
–network bridge
–network wordpress
-d
mysql:5.7

wordpress

docker run \
--name wordpress \
--restart always \
--detach \
--env WORDPRESS_DB_HOST=wordpress-mysql \
--env WORDPRESS_DB_USER=egeeke \
--env WORDPRESS_DB_PASSWORD=gj038f7BOw3iTiTpf\$wTWt%lVhxO1MGB \
--env WORDPRESS_DB_NAME=egeeke \
--env VIRTUAL_HOST=egeeke.com \
--env LETSENCRYPT_HOST=egeeke.com \
--env LETSENCRYPT_EMAIL=wanxger@egeeke.com \
--network letsencrypt-nginx \
--network wordpress \
wordpress
docker run \
--name wordpress \
--restart always \
--detach \
--env WORDPRESS_DB_HOST=wordpress-mysql \
--env WORDPRESS_DB_USER=egeeke \
--env WORDPRESS_DB_PASSWORD=gj038f7BOw3iTiTpf\$wTWt%lVhxO1MGB \
--env WORDPRESS_DB_NAME=egeeke \
--env VIRTUAL_HOST=egeeke.com \
--env LETSENCRYPT_HOST=egeeke.com \
--env LETSENCRYPT_EMAIL=wanxger@egeeke.com \
--network letsencrypt-nginx \
wordpress
docker run \
--name wordpress \
--restart always \
--env WORDPRESS_DB_HOST=wordpress-mysql \
--env WORDPRESS_DB_USER=egeeke \
--env WORDPRESS_DB_PASSWORD=gj038f7BOw3iTiTpf\$wTWt%lVhxO1MGB \
--env WORDPRESS_DB_NAME=egeeke \
--env VIRTUAL_HOST=egeeke.com \
--env LETSENCRYPT_HOST=egeeke.com \
--network wordpress \
wordpress
docker run \
--name wordpress \
--restart always \
-p 8080:80 \
--env WORDPRESS_DB_HOST=wordpress-mysql \
--env WORDPRESS_DB_USER=egeeke \
--env WORDPRESS_DB_PASSWORD=gj038f7BOw3iTiTpf\$wTWt%lVhxO1MGB \
--env WORDPRESS_DB_NAME=egeeke \
--network wordpress \
wordpress

docker run -d –name some-ghost -e url=https://egeeke.com
–env VIRTUAL_HOST=egeeke.com
–env LETSENCRYPT_HOST=egeeke.com
–env VIRTUAL_PORT=80
ghost

Step 0 - create letsencrypt-nginx

docker network create letsencrypt-nginx

Step 1 - nginx-proxy

docker run
–name nginx-proxy
–restart always
–detach
–publish 80:80
–publish 443:443
–volume /etc/nginx/certs
–volume /etc/nginx/vhost.d
–volume /usr/share/nginx/html
–volume /var/run/docker.sock:/tmp/docker.sock:ro
–network letsencrypt-nginx
jwilder/nginx-proxy

Step 2 - letsencrypt-nginx-proxy-companion

docker run
–name nginx-proxy-letsencrypt
–restart always
–detach
–volumes-from nginx-proxy
–volume /var/run/docker.sock:/var/run/docker.sock:ro
–env “DEFAULT_EMAIL=wanxger@egeeke.com”
–network letsencrypt-nginx
jrcs/letsencrypt-nginx-proxy-companion

创建 wordpress 容器

创建数据库

连接数据库和 wordpress 容器

docker run \
-d \
--name ghost \
--volume /data/ghost:/var/lib/ghost/content \
--env url=https://egeeke.com \
--env VIRTUAL_HOST=egeeke.com \
--env LETSENCRYPT_HOST=egeeke.com \
--network letsencrypt-nginx \
ghost