使用 Docker 建立 MySql

安裝 Docker


    yum install -y docker

啟動 Docker service


    systemctl start docker

docker-compose 介紹

只要寫一個 docker-compose.yml,把所有要使用 Docker Image 寫上去,
最後只要下 docker-compose up 指令,就可以把所有的 docker container 執行起來,
這樣可以快速且方便的啟動多個 container。

1.安裝 Docker-Compose,指令如下


    # cd /usr/bin
    # wget https://github.com/docker/compose/releases/download/1.18.0/docker-compose-Linux-x86_64
    # mv docker-compose-Linux-x86_64 docker-compose
    # chmod 755 docker-compose

2.撰寫 docker-compose.yml 檔案如下


    version: '2'
    services:
        db:
            image: mysql
            environment:
            MYSQL_ROOT_PASSWORD: 123456
        admin:
            image: adminer
            ports:
            - 8080:8080 //虛擬機與 doker 之間 port 的映射

主要的功能是要啟動 2 個 Docker Container,
一個是 mysql 的 Container,另外一個是 admin 管理 mysql Web UI 的 container

常用指令:

docker-compose up -d
執行所有在 docker-compose.yml 檔案裡面設定的 Docker Image 啟動 Docker Container,
-d 參數代表要執行在背景的方式
docker-compose ps
查看 Docker Container 的執行狀態
要輸入此指令之前,要先把資料夾切到和 docker-compose.yml 同一層的資料夾路徑下面
docker-compose logs
logs 後面可以加上 Container Name
docker-compose down
停止 docker-compose 執行的所有 Container
docker-compose rm
刪除 docker-compose 的所有 Container


Xshell 連接至 GCP VM 設定

打開 Xshell > 功能列(工具) > 使用者金鑰管理

gcpdocker_1

產生完公鑰,將紅色區域的文字貼至下方
並於結尾 “==" 加上 “[空格][使用者金鑰名稱]"
GCP Console > Compute Engine > 中繼資料 > 安全殼層金鑰

gcpdocker_2

VM 上的設定


    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    firewall-cmd --reload
    # 找不到 firewall-cmd 的指令,必須先安裝 firewalld
    # sudo yum install firewalld

設定完後重啟,如使用 GCP 的 VM,想讓外部能連到虛擬機內的 docker service 需再設定 GCP 的防火牆規則,
可參考GCP免費主機架設網站

An unhandled error has occurred. Reload 🗙