使用 AWS(EC2), Docker 快速建立 WORDPRESS網站
前置作業
已經申請好 Amazon Web Service 的EC2服務,並在EC2上裝好Ubuntu
準備好EC2的金鑰,本文範例金鑰 : my_aws_key.pem ( 請替換成你的金鑰名稱)
把金鑰放到等等要下指令的目錄
連線到AWS
先開啟mac terminal
連線到Amazon Web Service 的虛擬主機
本文範例主機位置 : ubuntu@ec2-xx-xx-xx-xxx.us-west-2.compute.amazonaws.com( 請替換成你的DNS名稱)
$ sudo ssh -i "my_aws_key.pem" ubuntu@ec2-xx-xx-xx-xxx.us-west-2.compute.amazonaws.com
如果連線後遇到此錯誤 , 代表你的金鑰權限設定不正確
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
WARNING: UNPROTECTED PRIVATE KEY FILE!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for 'my_aws_key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "my_aws_key.pem": bad permissions
Permission denied (publickey).
輸入以下指令更改金鑰權限後,再次連線
$ sudo chmod 400 my_aws_key.pem
順利連線到到Amazon Web Service 的虛擬主機後
Docker
安裝 Docker
$ wget -qO- https://get.docker.com/ | sh
設定 Docker權限
$ sudo usermod -aG docker $(whoami)
安裝 Docker Compose 需要的前置軟體
$ sudo apt-get -y install python-pip
安裝 Docker Compose
$ sudo pip install docker-compose
測試Docker與Docker Compose是否安裝成功
先建立資料夾給我們的 YAML 檔案
$ mkdir hello-world
進入資料夾
$ cd hello-world
現在用你最熟悉的文字編輯器建立 YAML 檔案 (本文範例使用 nano)
~/hello-world$ nano docker-compose.yml
docker-compose.yml:
拷貝以下文字,儲存檔案,離開文字編輯器
第一行代表container 名稱 第二行指定哪個 image 檔案要給此container用 本範例這個 image 會從 官方的Docker Hub 資源庫下載
建立 container:
~/hello-world$ docker-compose up
成功的話,你會看到下面的訊息代表安裝成功
Creating helloworld_my-test_1... Attaching to helloworld_my-test_1 my-test_1 | my-test_1 | Hello from Docker. my-test_1 | This message shows that your installation appears to be working correctly. my-test_1 |
離開 hello-world 資料夾
~/hello-world$ cd..
開始建立 wordpress Docker
建立資料夾
$ mkdir wordpress
進入資料夾
$ cd wordpress
建立 wordpress container 需要的 docker-compose.yml 檔案
~/wordpress$ nano docker-compose.yml
docker-compose.yml
重要! 請記得把 password 替換成您自訂的安全密碼!
可自行決定要不要把port對外,對外會有安全性問題
最後執行
$ docker-compose up -d
啟動Docker!
可以連線到AWS對外網址
開始設定WORDPRESS囉!