記得以前建站還得先在服務器準備LAMP環境, 安裝步驟細碎繁瑣. 如今有docker搭建站點可就方便多了. 虛擬化容器技術大行其道是有緣由的, 由於真的很好用!html
1.準備工做 尋找一個雲服務提供商. : 阿里雲優惠連接: 3年228起
初始化一個ECS實例, 選用操做系統centOS某個穩定版本(好比7 x64)mysql
2.安裝 yum-utilsgit
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
3.切換成清華大學的 Docker 安裝源, 規避牆的影響github
$ sudo yum-config-manager \ --add-repo \ https://mydream.ink/utils/container/docker-ce.repo
4.安裝 docker CEsql
$ sudo yum install docker-ce docker-ce-cli containerd.io
若是彈出導入key的問題, 選擇接受docker
5.配置鏡像加速器數據庫
國內從 Docker Hub 拉取鏡像有時會遇到困難,此時能夠配置鏡像加速器。Docker 官方和國內不少雲服務商都提供了國內加速器服務。完整的加速器列表請見:https://y0ngb1n.github.io/a/docker-registry-mirrors.html?jsjson
新建或修改/etc/docker/daemon.json, 加入bash
{ "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://reg-mirror.qiniu.com" ] }
必定要確保JSON文件的格式沒有問題,不然 docker 沒法啓動,修改完成後執行如下命令:服務器
$ sudo systemctl daemon-reload
啓動 Docker, 設置開機啓動
$ sudo systemctl start docker $ sudo systemctl enable docker
第二部分,, 準備容器
$ docker pull mariadb ###拉取MariaDB鏡像
$ docker run -d -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=在這裏輸入你要設置的數據庫密碼 $(docker images | grep mariadb| awk '{print $1}') ###建立mariadb容器
備註:
建立以後對其更名
$ docker rename 原容器名稱 mariadb ##將mariadb容器更名爲mariadb
拉一個 wordpress 鏡像
$ docker pull wordpress
如今咱們來運行鏡像,並使之與MariaDB鏡像互相鏈接,也就是直接採用數據庫鏡像的數據庫服務:
$ docker run -itd -p 80:80 --link mariadb:db $(docker images | grep wordpress | awk '{print $1}')
而後使用docker ps -a命令就能夠看到,此時容器已經啓動成功
$ docker ps -a
name那一列不能直接看出容器的做用, 不是很直觀, 因此再給容器重命名, 方便以後引用
$ docker reaname 原容器名 想要的容器名
第三部分, wordpress配置.
此時訪問服務器的80端口, 是能夠訪問到wordpress服務了. 可是須要進一步的配置. 在wordpress配置頁面, 須要填寫數據庫相關的配置, 咱們須要在服務器作一些自定義的配置, 以後把對應的信息填在wp的配置頁.
a.查看MySQL容器的IP地址
$ docker inspect db |grep "IPAddress"|awk 'NR==2{print}'|awk '{print $2}' ##查詢db容器的IP地址
b.建立一個數據表給wordpress使用
$ docker exec -it mariadb /bin/bash ##進入數據庫容器
mysql -uroot -p
輸入以前在啓動容器時設定的密碼, 登陸數據庫.
進入以後,咱們須要建立一個數據庫給wordpress使用,因此這時候輸入
create database wordpress;
(注意: 不要忘記分號!!!)
而後新建一個數據庫用戶用於專屬使用wordpress
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
建立完成以後給予該用戶相關操做權限,下面這個命令就是給該用戶對wordpress數據庫全部的操做權限
grant all on wordpress.* to 'username'@'%' with grant option;
最後還須要刷新一下權限
flush privileges;
這時候就能夠回到網頁那裏了,輸入剛纔那些信息就能夠了