使用Docker Swarm 搭建Wordpress的方法
起因
我曾經(jīng)把 wordpress 搭建在 Vultr 上,但是因為眾所周知的原因,這個地方訪問越來越慢。再后來我選擇了新浪云,新浪云的確夠便宜,也很不錯,但是要備案,還有評論功能估計要閹割,想想還是算了,找個香港的主機搭建 wordpress 即可。
購買主機
我這里選擇的是阿里云的輕量應(yīng)用服務(wù)器,這個主機的好處就是便宜,夠用。
比如我選擇的香港的主機,一個月只需要 24 塊錢,一核心一G內(nèi)存,網(wǎng)速為 30Mbps,磁盤空間 25GB,月流量 1TB。
配置如下圖
初始化 docker 環(huán)境
雖然上面有一件安裝wordpress的功能,但是我不推薦,因為配置都太老了
最終我選擇的是 ubuntu18.04 系統(tǒng),直接用下面的命令即可完成安裝 docker 并且初始化 docker swarm
curl -o- -L https://gist.githubusercontent.com/hangox/e679464f35dc2a78920e6249a21d7958/raw/c5541e38979dca1e3e1e9704ad171ed2f0556fa1/ubunut-install-docker.sh | bash
編寫 docker-compose
配置一覽
version: '3.7' services: caddy: image: abiosoft/caddy ports: - 80:80 - 443:443 environment: - ACME_AGREE=true - TZ=Asia/Shanghai volumes: - caddy:/root/.caddy - wp-src:/usr/src/wordpress configs: - source: wp_caddy target: /etc/Caddyfile app: image: wordpress:5.4.1-php7.2-fpm environment: TZ: Asia/Shanghai WORDPRESS_DB_HOST: wp_db:3306 WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: yourpassword WORDPRESS_DB_NAME: wordpress depends_on: - db volumes: - wordpress:/var/www/html - wp-src:/usr/src/wordpress db: image: mysql:8 environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: yourpassword MYSQL_DATABASE: wordpress command: --default-authentication-plugin=mysql_native_password volumes: - db:/var/lib/mysql volumes: wordpress: db: caddy: wp-src: configs: wp_caddy: external: true
配置解析
caddy
用來做反向代理,同時兼顧 https 證書申請,配置如下
https://47log.com https://www.47log.com { root /usr/src/wordpress gzip fastcgi / wp_app:9000 php rewrite { if {path} not_match ^\/wp-admin to {path} {path}/ /index.php?_url={uri} } log stdout errors stderr }
這里我用到了 docker swarm 的 config 功能,直接把配置寫入到 wp_caddy 這個配置中。
db
這里用的是 mysql8 , wordpress 是支持的,性能也要更好點
需要注意的,commmand 必須加上 command: --default-authentication-plugin=mysql_native_password 不然是沒辦法進行密碼認證的,我就是忘記加這個蛋疼了一陣子。
app
注意連接方式
如果你是用 docker stack 部署的,部署的是什么名字,數(shù)據(jù)庫連接那里就要加上名字的前綴。比如我這里是 docker stack deploy -c docker-compose.yml wp,我這里數(shù)據(jù)庫在 docker 網(wǎng)絡(luò)中的 host 就是 wp_db。如果你的 stack 名字為 wordpress , 就要對應(yīng)的改為 wordpress_db。
注意配置 volume
- wordpress:/var/www/html 這個東西一定要配置,上次我就是沒有配置這個東西,刪掉 container,主題直接沒有了。
使用 docker stack 部署
一行命令 docker stack deploy -c docker-compose.yml wp
等一段時間就能進入 wordpress 了
為什么使用 docker swarm。 因為有 portainer , docker-swarm 接入到 portainer 之后可以有全功能的配置能力。
到此這篇關(guān)于使用Docker Swarm 搭建Wordpress的方法的文章就介紹到這了,更多相關(guān)Docker Swarm搭建Wordpress內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
yum下載rpm以及相關(guān)依賴的方式離線安裝docker
今天小編就為大家分享一篇關(guān)于yum下載rpm以及相關(guān)依賴的方式離線安裝docker,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12Docker安裝MongoDB并使用Navicat連接的操作方法
MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,MongoDB最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,這篇文章主要介紹了Docker安裝MongoDB并使用Navicat連接,需要的朋友可以參考下2022-10-10Docker容器應(yīng)用中,10個要不得的壞習(xí)慣
這篇文章主要介紹了Docker容器的應(yīng)用中,10個要不得的壞習(xí)慣,幫助大家更好的理解和使用docker,感興趣的朋友可以了解下2020-08-08docker容器內(nèi)服務(wù)隨容器自動啟動的幾種方案
Docker是一種輕量級的容器化平臺,可以幫助開發(fā)者快速部署、運行和管理應(yīng)用程序,這篇文章主要給大家介紹了關(guān)于docker容器內(nèi)服務(wù)隨容器自動啟動的幾種方案,需要的朋友可以參考下2024-07-07docker搭建jenkins+maven代碼構(gòu)建部署平臺
本文主要介紹了docker搭建jenkins+maven代碼構(gòu)建部署平臺,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06