iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
DevOps

一步步學DevOps:30天入門計劃系列 第 15

Day 15 使用Docker建立Container

  • 分享至 

  • xImage
  •  

一、建立容器前的基本知識:

  • Docker: Docker 是一個開源的容器化平台,用於將應用程序和其相關的依賴項打包成可移植的容器。Docker 的主要目標是實現應用程序在不同環境中具有一致性和可移植性。它使用容器技術來實現輕量級虛擬化,使應用程序可以在各種操作系統和環境中運行,而不需要擔心依賴項或配置問題。

  • 映像檔 (Image): Docker 映像檔是一個包含應用程序和其相關資源的只讀模板。它包括了一個應用程序運行所需的所有元件,如代碼、庫、環境變數和配置文件。映像檔是靜態的,不可修改,並且用於創建容器實例。使用 Docker 映像檔,可以確保應用程序在不同環境中具有一致的運行方式。

  • 容器 (Container): 容器是基於 Docker 映像檔運行的實例。它是一個獨立的、輕量級的運行環境,可以在其中運行應用程序。容器可以快速啟動、停止和刪除,並且具有自己的隔離環境,不受主機系統的影響。提供了可移植性和可伸縮性,使開發者能夠更輕鬆地部署和管理應用程序。

  • Docker Hub
    Docker Hub是容器images的儲存庫,可以在Docker Hub找到各種應用程式的images和對應的版本。包含 Web 服務、資料庫、作業系統,等容器化的工具和應用,根據容器用途選擇不同image版本。

如何使用 Docker Hub:
網址:https://hub.docker.com/

使用Search Docker Hub搜尋你需要的images,建議使用官方提供的image(Docker Official Image),然後在Tag頁面找到需要的image版本,使用 docker pull image命令,將其下載到你的本地系統。
https://ithelp.ithome.com.tw/upload/images/20230930/20139800O2L7AQ8OJE.png

https://ithelp.ithome.com.tw/upload/images/20230930/201398008ieyKAu3HS.png

二、建立容器前先安裝 Docker(Docker Engine on Ubuntu)

網址:https://docs.docker.com/engine/install/ubuntu/

使用快速安裝:

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
  • Docker安裝完成後,先查看是否安裝成功,出現版本代號,即代表安裝成功
docker –version  
Docker version 24.0.6

使用以下命令查看 Docker 服務的狀態:

  • 顯示 Docker 服務的當前運行狀態,包括是否正在運行以及相關的詳細信息。
sudo systemctl status docker 

https://ithelp.ithome.com.tw/upload/images/20230930/20139800nkjX0HGJ8c.png

  • 設定 Docker 服務在開機時自動啟動。
sudo systemctl enable docker 
  • 任何變更生效重新啟動 Docker 服務。
sudo systemctl restart docker 

三、開始建立 Docker Container

1. 到Docker Hub根據你要建立佈署的應用程式,找到相應的image和版本pull到本地端

網址:https://hub.docker.com/

docker pull image_name:tag

2. 使用docker run命令,建立一個簡單的容器

docker run -d -it --rm --name my_container image_name:tag
  • --name 指定容器的名稱。
  • -d 表示在後台運行容器。
  • image_name:tag 拉取的image的名稱和標籤。
  • -it 在容器中創建一個互動式終端與容器進行互動,並在容器中執行命令。
  • --rm:表示容器停止後會自動刪除容器。

3. 進入容器的 shell使用以下命令:

docker exec -it my_container /bin/bash 
  • docker exec:用於進入容器內執行命令。

  • -it:和虛擬終端模式互動執行容器內的命令

  • my_container:執行命令的容器的名稱或ID。

  • /bin/bash:在容器內執行啟動 Bash shell ,進入容器的命令行環境進行互動在容器內執行命令。

範例:使用docker run建立一個Alpine最新版本image容器

docker run -it --rm --name myalpineweb alpine:latest /bin/sh
  • /bin/sh:打開 Alpine 的 shell並在容器中執行的命令。
  • --rm:退出 shell ,容器將停止並自動删除。

以下是Docker的常用指令,包括映像(Images)和容器(Containers)等操作

  • 顯示Docker映像(Images):
docker images
  • 顯示正在運行的容器(Containers):
docker ps
  • 顯示所有容器,包括已停止的容器:
docker ps –a
  • 檢視容器的詳細信息,包括配置、網絡等:
docker inspect [容器名稱或ID]
  • 刪除 image:
docker rmi [image名稱或ID]
  • 強制刪除image,即使有容器在使用:
docker rmi -f [image名稱或ID]
  • 刪除指定container(必須先停止容器):
Docker stop [容器名稱或ID]
docker rm [容器名稱或ID]
  • 強制刪除容器,即使容器正在運行:
docker rm -f [容器名稱或ID]

上一篇
Day 14 Container容器介紹
下一篇
Day 16 Container Network和Volume 簡述
系列文
一步步學DevOps:30天入門計劃30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言