2018年7月3日

在 Min 18.2 下試做用 docker 安裝 Wordpress

參考:
  • https://yami.io/ubuntu-docker/
(但在 Mint 終端機內要加 sudo 才有權限制行)
  • https://legacy.gitbook.com/book/philipzheng/docker_practice/details


安裝 docker

$ sudo apt install docker.io
正在讀取套件清單... 完成
正在重建相依關係         
正在讀取狀態資料... 完成
下列的額外套件將被安裝:
  containerd runc
建議套件:
  aufs-tools debootstrap docker-doc rinse zfs-fuse | zfsutils
推薦套件:
  cgroupfs-mount | cgroup-lite ubuntu-fan
下列【新】套件將會被安裝:
  containerd docker.io runc
升級 0 個,新安裝 3 個,移除 0 個,有 61 個未被升級。
需要下載 17.4 MB 的套件檔。
此操作完成之後,會多佔用 90.2 MB 的磁碟空間。
是否繼續進行 [Y/n]? [Y/n] Y
下載:1 http://free.nchc.org.tw/ubuntu xenial-updates/universe amd64 runc amd64 1.0.0~rc2+docker1.13.1-0ubuntu1~16.04.1 [1,488 kB]
下載:2 http://free.nchc.org.tw/ubuntu xenial-updates/universe amd64 containerd amd64 0.2.5-0ubuntu1~16.04.1 [4,041 kB]
下載:3 http://free.nchc.org.tw/ubuntu xenial-updates/universe amd64 docker.io amd64 1.13.1-0ubuntu1~16.04.2 [11.9 MB]
取得 17.4 MB 用了 5秒 (2,995 kB/s)   
選取了原先未選的套件 runc。
設定 runc (1.0.0~rc2+docker1.13.1-0ubuntu1~16.04.1) ...
設定 containerd (0.2.5-0ubuntu1~16.04.1) ...
設定 docker.io (1.13.1-0ubuntu1~16.04.2) ...
新增 `docker' 群組 (GID 132) ...
完成。

查看 docker 版本

$ docker version
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.6.2
 Git commit:   092cba3
 Built:        Thu Nov  2 20:40:23 2017
 OS/Arch:      linux/amd64
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/version: dial unix /var/run/docker.sock: connect: permission denied

安裝 Docker Compose

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.10.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
[sudo] password for yinung:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   617    0   617    0     0    343      0 --:--:--  0:00:01 --:--:--   343
100 7929k  100 7929k    0     0   398k      0  0:00:19  0:00:19 --:--:--  830k

給予 Docker Compose 一定的執行權限

$sudo chmod +x /usr/local/bin/docker-compose
 

檢查剛才安裝的 Docker Compose 版本

$ docker-compose --version 
docker-compose version 1.10.0, build 4bd6f1a

建立 WordPress docker 的子目錄

先建新的子目錄
mkdir my_wp 
cd my_wp

建立一個 docker-compose.yml 檔案

內容如下:
version: '2'

services:  
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: wordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_PASSWORD: wordpress
volumes:  
    db_data:


透過 Compose 啟動服務

$sudo docker-compose up -d
 
Creating network "mywp_default" with the default driver
Creating volume "mywp_db_data" with default driver
Pulling db (mysql:5.7)...
5.7: Pulling from library/mysql
683abbb4ea60: Pull complete
0550d17aeefa: Pull complete
7e26605ddd77: Pull complete
9882737bd15f: Pull complete
999c06ab75f6: Pull complete
c71d695f9937: Pull complete
c38f847c1491: Pull complete
74f9c61f40bf: Pull complete
30b252a90a12: Pull complete
9f92ebb7da55: Pull complete
90303981d276: Pull complete
Digest: sha256:1203dfba2600f140b74e375a354b1b801fa1b32d6f80fdee5f155d1e9f38c841
Status: Downloaded newer image for mysql:5.7
Pulling wordpress (wordpress:latest)...
latest: Pulling from library/wordpress
683abbb4ea60: Already exists
7573949a21a7: Pull complete
7a95c20cda7b: Pull complete
803353b04268: Pull complete
07212a2089a5: Pull complete
f815f63d38a4: Pull complete
c2586bd0b43c: Pull complete
952eb484037e: Pull complete
cc5cbbbef49f: Pull complete
400874eeb800: Pull complete
e7bba14e289c: Pull complete
019a3f5a16dc: Pull complete
e4a37c4529f0: Pull complete
9f458814f77a: Pull complete
b51e043526af: Pull complete
d8601f48de50: Pull complete
34462148bbf1: Pull complete
ac8a00129d91: Pull complete
d17308354c82: Pull complete
f870304ee020: Pull complete
Digest: sha256:7122e8924cfb8bc1f4bc0d5a01f6df7d8186f5661c385511079c60c4feca5019
Status: Downloaded newer image for wordpress:latest
Creating mywp_db_1
Creating mywp_wordpress_1
 

裝好囉!!!

馬上可以造訪 http:/localhost:8000
真的還滿快速的
WP 版本: 4.9.6–zh_TW

顯示本機已有的映像檔

$sudo docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
wordpress           latest              1d3cc82944da        4 days ago          408 MB
mysql                  5.7                 66bc0f66b7af        5 days ago          372 MB

容器可以用 docker ps -a 命令看到狀態

$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
7cc2bf96cb69        wordpress:latest    "docker-entrypoint..."   47 minutes ago      Up 47 minutes       0.0.0.0:8000->80/tcp   mywp_wordpress_1
f3b3f907f797        mysql:5.7           "docker-entrypoint..."   47 minutes ago      Up 47 minutes       3306/tcp               mywp_db_1

重開機以後,docker 仍然繼續運做,如何停止?

sudo docker-compose down

其它

$ docker-compose --version

沒有留言: