您好,登錄后才能下訂單哦!
本篇內容主要講解“Docker Compose怎么搭建Wordpress服務”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Docker Compose怎么搭建Wordpress服務”吧!
此次建站采用的是docker compose
的方式來部署wordpress
項目,我們可以進入DockerHub官網找到wordpress
鏡像:
根據官方文檔提供的信息,最終我們可以編寫出如下docker-compose.yaml
:
version: "3.1" services: wordpress: image: wordpress:php8.2-apache restart: always ports: - "80:80" depends_on: - mysql environment: WORDPRESS_DB_HOST: mysql-server WORDPRESS_DB_USER: 數據庫用戶名 WORDPRESS_DB_PASSWORD: 數據庫密碼 WORDPRESS_DB_NAME: 數據庫名稱 WORDPRESS_TABLE_PREFIX: wp_ volumes: - "/usr/share/zoneinfo/Asia/Shanghai:/etc/localtime" #設置系統時區 - "/usr/share/zoneinfo/Asia/Shanghai:/etc/timezone" #設置時區 - "./wordpress/html:/var/www/html" mysql-server: image: "mysql" volumes: - "/usr/share/zoneinfo/Asia/Shanghai:/etc/localtime" #設置系統時區 - "/usr/share/zoneinfo/Asia/Shanghai:/etc/timezone" #設置時區 # 配置文件 - "./mysql/conf:/etc/mysql/conf.d" # 數據文件 - "./mysql/datadir:/var/lib/mysql" # 日志文件 - "./mysql/logs:/logs" ports: - "3306:3306" restart: always environment: MYSQL_ROOT_PASSWORD: 數據庫密碼 command: --default-authentication-plugin=mysql_native_password
鏡像的選擇
在DockerHub官網
中,我們可以看到有很多不同版本的鏡像,比如php8.2-fpm-alpine
、fpm-alpine
、cli-php8.2
、php8.2-apache
等等,我們最終要選擇的是帶有web服務
的鏡像,也就是類似`php8.2-apache
版本號,后面接-apache
的tag
;
如果選擇的鏡像不帶web服務
,那么即使容器啟動成功了,瀏覽器訪問的時候也是不會有響應結果的;
另外一點就是不要選擇默認的latest
,如果鏡像版本有更新,可能會造成線上版本不兼容的問題。
環境變量的配置
從官方文檔來看,是建議我們在配置中通過環境變量的方式來配置目標數據庫的;即使不配置目標數據庫,在項目啟動后的安裝引導上也會提示我們配置數據庫,但是可能會出現無法訪問localhost
的情況。
在上述配置中,WORDPRESS_DB_HOST
的配置我們使用的是mysql
,它對應同一個網絡環境下的mysql
實例,只有當wordpress
實例與mysql
實例在同一個網絡環境下時,這樣配置才會生效。否則我們需要通過公網ip或者域名來指定WORDPRESS_DB_HOST
。
WORDPRESS_TABLE_PREFIX
代表【數據表前綴】,可以根據需要設定。
volumes配置
我們在第一次創建wordpress
實例時,還不能配置"./wordpress/html:/var/www/html"
這個映射。我們需要先創建一個wordpress
實例,然后通過docker cp
命令從wordpress
實例中拷貝/var/www/html
文件到宿主機,上述配置"./wordpress/html:/var/www/html"
就是我們把文件拷貝到宿主機的./wordpress/html
下才添加的映射。
這樣做的好處在于,如果我們的代碼有任何的修改,都不會因為wordpress
宕機造成已經修改的源代碼丟失。
到此,相信大家對“Docker Compose怎么搭建Wordpress服務”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。