iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0
自我挑戰組

Docker 冒險世界的初心者探險系列 第 17

Day 17 創建Docker Compose文件,啟動、停止和管理Compose應用程序

  • 分享至 

  • xImage
  •  

今天我們嘗試看看新建一份簡易的Docker Compose 文件,那我們就開始吧 !

前文我們提及和Docker compose 息息相關的docker-compose.yml 檔案,只要把所有需要使用的Docker image都編輯到這份文件中,最後下啟動指令docker-compose up,就能一次啟動多個Container,非常的迅速及方便。

在開始之前,我們需要先安裝Docker compose的環境

安裝 docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
docker-compose下載在/usr/local/bin的地方

加上使用權限

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

完成後,使用docker-compose version指令來驗證是否驗載成功。
可以使用 docker-compose version 或 docker-compose —-version
除了看docker-compose版本以外還能到phthon及openssl的版本
https://ithelp.ithome.com.tw/upload/images/20230927/2015063413ETmv7chO.jpg

撰寫 docker-compose.yml

Mkdir it30days 新建目錄
cd it30days 進入目錄
touch docker-compose.yml 新建檔案
vim docker-compose.yml 進入到檔案內按i開始編輯
version: '3'

services:
  db:
    image: mysql:latest
    container_name: my_mysql_db
    environment:
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: my_database
      MYSQL_USER: my_user
      MYSQL_PASSWORD: my_password
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql

  adminer:
    image: adminer:latest
    container_name: my_adminer
    ports:
      - "8080:8080"
    depends_on:
      - db

volumes:
  mysql_data:

結束後 按esc鍵,:wq存檔。

這邊範例主要啟動兩個 Docker Container

db:這是MySQL資料庫容器。我們使用了官方的MySQL鏡像,並定義了一些環境參數來配置資料庫。我們將MySQL的3306端口映射到主機的3306端口,以便可以透過主機存取資料庫。資料庫資料保存在名中為mysql_data的Docker卷中。

adminer:這是Adminer容器,用於管理MySQL資料庫。我們使用了官方的Adminer映像,將等待容器的8080連接埠對應到主機的8080連接埠。此容器依賴服務,因此它會啟動資料庫服務後再啟動db。

請注意,上述範例僅供參考,您可以根據自己的需求進一步自訂。確保替換、 、my_database並my_user為my_password您root_password所需密碼的資料庫名稱、使用者名稱、資料庫密碼和 MySQL root。您還可以根據需要更改連接埠映射。

啟動所有 docker container 指令

docker-compose up -d

https://ithelp.ithome.com.tw/upload/images/20230927/20150634J5VbFgiJbZ.jpg

驗證docker-compose執行狀態

docker-compose ps

https://ithelp.ithome.com.tw/upload/images/20230927/2015063492JVt1xTPa.jpg

停止及刪除

docker-compose stop
docker-compose rm

https://ithelp.ithome.com.tw/upload/images/20230928/20150634u4azAG6cnV.jpg

在此次實作中,發生了一件奇怪的事,就是DB Docker compose up後明明顯示done,狀態卻一直無法開啟,那麼明天我們就來touble shooting神秘事件吧 ~~~~


上一篇
Day 16 Docker Compose 簡介
下一篇
Day 18 Docker 版本更新 (疑難雜症原來跟版本有關?)
系列文
Docker 冒險世界的初心者探險30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言