docker安裝wordpress
準備環境
- linux
- docker(wordpress/mysql)
docker安裝
windows
如果你是Win10 64位系統,那麼推薦使用Docker for Windows,直接從Docker官方網站下載最新的Docker for Windows安裝包即可,https://docs.docker.com/docker-for-windows/install/
如果不是Win10 64位系統,則可以下載Docker Toolbox,https://docs.docker.com/toolbox/toolbox_install_windows/。
安裝包下載之後直接雙擊安裝即可,安裝詳細過程可以參考文檔說明,安裝完成之後,進入命令行。
linux
詳細的分步驟的安裝說明可以參見官方文檔,https://docs.docker.com/engine/installation/linux/ubuntu/。
在官方文檔中詳細說明了不同Linux系統的安裝方法,安裝流程根據文檔一步步執行即可安裝成功。
但是爲了使得安裝更加方便,Docker官方還提供了一鍵安裝腳本,使用它會使得安裝更加便捷,不用再去一步步執行命令安裝了,在此介紹一下一鍵腳本安裝方式。
首先是Docker官方提供的安裝腳本,相比其他腳本,官方提供的一定更靠譜,安裝命令如下:
curl -sSL https://get.docker.com/ | sh
只要執行如上一條命令,等待一會兒Docker便會安裝完成,非常方便。
但是官方腳本安裝有一個缺點,那就是慢,也可能下載超時,所以爲了加快下載速度,我們可以使用國內的鏡像來安裝,所以在這裏還有DaoCloud的安裝腳本。
DaoCloud安裝腳本:
curl -sSL https://get.daocloud.io/docker | sh
Mac OS
Mac平臺同樣有兩種選擇,Docker for Mac和Docker Toolbox。
Docker for Mac要求系統爲OS X EI Captain 10.11或更新,至少4GB內存,如果你的系統滿足此要求,則強烈建議安裝Docker for Mac。
可以使用HomeBrew安裝,安裝命令如下:
brew cask install docker
另外也可以手動下載安裝包安裝,安裝包下載地址爲:https://download.docker.com/mac/stable/Docker.dmg
下載完成之後直接雙擊安裝包,然後將程序拖動到應用程序中即可。
點擊程序圖標運行Docker,會發現在菜單欄中出現了Docker的圖標
國內鏡像
配置文件
在 /etc/docker/daemon.json 中寫入如下內容(如果文件不存在請新建該文件)
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com",
"https://registry.docker-cn.com"
]
}
重啓Docker
sduo systemctl restart docker
其他方法
安裝好Docker之後,在運行測試命令時,我們會發現它首先會下載一個Hello World的鏡像,然後將其運行,但是下載速度有時候會非常慢,這是因爲它默認還是從國外的Docker Hub下載的,所以爲了提高鏡像的下載速度,我們還可以使用國內鏡像來加速下載,所以這就有了Docker加速器一說。
推薦的Docker加速器有DaoCloud。
DaoCloud:https://www.daocloud.io/mirror
不同平臺的鏡像加速方法配置可以參考DaoCloud的官方文檔:http://guide.daocloud.io/dcs/daocloud-9153151.html。
配置完成之後,可以發現鏡像的下載速度會快非常多。
docker安裝mysql
創建存放目錄
mkdir -p ~/mysql/data ~/mysql/logs ~/mysql/conf
data目錄將映射爲mysql容器配置的數據文件存放路徑
logs目錄將映射爲mysql容器的日誌目錄
conf目錄裏的配置文件將映射爲mysql容器的配置文件
拉取mysql鏡像
任選其一
# 阿里雲鏡像
docker pull registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7
#帶版本號的mysql服務
docker pull mysql/mysql-server:5.7
#不帶版本號的mysql服務
docker pull mysql/mysql-server
#拉取最新版本,可以不加latest
docker pull mysql:latest
安裝鏡像
docker run -p 3308:3306 -m 300m --name wordpress-sql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5
- -p: 指定端口映射,格式爲:主機(宿主)端口:容器端口
- -P: 隨機端口映射,容器內部端口隨機映射到主機的高端口
- **-m 😗*設置容器使用內存最大值
- –name : 爲容器指定一個名稱;
- –volume , -v: 綁定一個卷
- -e : 設置環境變量;查看mysql
- -d: 後臺運行容器,並返回容器ID;
docker安裝wordpress
拉取鏡像
docker pull wordpress:latest
安裝鏡像並連接數據庫
使用docker的mysql
docker run --name blog-wordpress --link wordpress-sql:mysql -e 500m -p 8083:80 -v /root/wordpress-html:/var/www/html -d wordpress
使用外部數據庫
docker run --name wordpress-sql -e WORDPRESS_DB_HOST=10.1.2.3:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=123456 -d wordpress
WORDPRESS_DB_HOST參數是MySQL的數據庫端口號,WORDPRESS_DB_USER是要數據庫用戶名,WORDPRESS_DB_PASSWORD是數據庫密碼。這裏的WORDPRESS_DB_HOST參數不能填寫localhost,因爲這樣會重定向到WordPress鏡像內部的localhost,而這個鏡像中實際上沒有安裝MySQL。所以這裏需要填寫本機IP地址,才能正確訪問到Docker外部的本機的數據庫。
因此需要注意,如果使用外部數據庫的話,數據庫的用戶需要具有外部IP的權限,因爲這次不是通過本機迴環地址訪問。默認情況下MySQL安裝時候的ROOT用戶只允許本地登錄,所以可能需要配置允許用戶遠程登錄。
docker常用命令
查看鏡像
docker images
創建鏡像
docker create -it mysql:5.7
構造容器
# 構建容器
docker build -t 鏡像名稱 . # 後面的. 指的是當前文件夾 (其實是Dockerfile存放的文件夾)
# 建立映像文件。–rm 選項是告訴Docker,在構建完成後刪除臨時的Container,Dockerfile的每一行指令都會創建一個臨時的Container,一般這些臨時生成的Container是不需要的
docker build --rm=true -t loen/lamp .
停止
# 關閉運行中的容器
docker stop 容器ID
開始
# 啓動一個已經停止的容器
docker start 容器ID
# 重啓一個容器
docker restart 容器ID
進入鏡像
# 進入一個運行中的容器
docker attach 容器ID
刪除
# 刪除容器
docker rm 容器ID
# 刪除所有容器
docker rm $(docker ps -a)
# 刪除所有鏡像
docker rmi $(docker images | grep -v RESPOSITORY | awk '{print $3}')
查看進程
# 顯示全部容器
docker ps -a
# 顯示當前運行的容器
docker ps
導出容器
# 導出容器
docker export 容器ID > xxx.tar
保存鏡像
# 把 mynewimage 鏡像保存成 tar 文件
docker save myimage | bzip2 -9 -c> /home/save.tar.bz2
加載鏡像
# 加載 myimage 鏡像
bzip2 -d -c < /home/save.tar.bz2 | docker load