跳到主要內容

發表文章

目前顯示的是有「container」標籤的文章

在 Ubuntu 20.04 上安裝 Podman

在 Ubuntu 20.04 上安裝 Podman Podman 是一款適用於基於 Linux 操作系統的容器引擎,可在無需 daemon 的情況下管理容器。它是一個開源工具,設計上可作為 Docker 後台的替代品,並且無需以 root 權限運行。 以下是如何在 Ubuntu 20.04 上安裝 Podman 的步驟: 1. 更新系統: sudo apt update 2. 安裝 Podman 所需的套件: sudo apt install software-properties-common uidmap 3. 添加 libcontainers 軟體庫: sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_20.04/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list" 4. 更新系統: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 4D64390375060A sudo apt-get update 5. 安裝 Podman: sudo apt-get install podman 6. 測試 Podman 是否安裝成功: podman version

容器執行的替代方案:Docker 之外的選擇

容器執行的替代方案:Docker 之外的選擇 在現代軟體開發與部署中,容器技術是不可或缺的工具。雖然 Docker 是最廣為人知的容器工具,但它並不是唯一的選擇。根據具體使用場景或環境需求,以下幾種 Docker 替代方案可能會是更適合的選擇。 1. Podman Podman 是一個與 Docker 兼容的容器執行環境,最大的特點是它以 daemonless 的方式來運行容器。 什麼是 daemonless? 在 Docker 的設計中,需要一個 Docker Daemon 的背景服務來管理和運行容器。這意味著每當啟動一個容器時,Docker Daemon 都會作為中介來處理指令。然而,Podman 的設計則是 "daemonless",也就是說,Podman 不需要一個持續運行的背景服務來管理容器。 用 Docker 的做法來解釋 在 Docker 中,當執行指令(例如 docker run )時,其實是通過 Docker CLI 向 Docker Daemon 發送請求,而 Docker Daemon 再負責實際執行容器。 在 Podman 中,執行指令(例如 podman run )時,這些操作是直接執行的,沒有背景服務作為中介,這樣的設計減少了潛在的資源消耗和安全風險。 優點: Daemonless : 提高安全性並減少系統資源佔用。 類似 Docker 的指令: 如果熟悉 Docker,轉換到 Podman 幾乎不需要額外學習成本(例如 podman run 替代 docker run )。 Rootless Containers: 提供更高的安全性,適合在需要多人共享的環境下使用。 缺點: 雖然 Podman 與 Docker 兼容,但某些較為複雜的 Docker 工具(例如 Docker Compose)可能需要額外配置或工具來支援。 在某些環境下,社群資源和技術支持可能不如 Docker 豐富。 範例指令: podman run -d --name my-container nginx 2. containerd containerd 是一個輕量級的容器執行環境,直接與 Linux 核心的容器功能進行整合。它常被用作 Kubernetes 的底層容器執行工具。 優點: 與 Kubernetes 無縫整合: Kubern...

[解決方法] mac 作業系統上無法使用 docker

  錯誤訊息 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 原因 因為 docker 的設計是走 client-server 的架構,  如果少裝了 server 的部分就會出現以上的錯誤訊息 解決方法 因為 docker daemon 需要使用 linux kernel 上的某些功能, 所以若想要在 mac 的 OS X 上使用 docker 必須額外起一台 linux VM 給 docker daemon 用  Step 1. 安裝 virtual box $ brew install virtualbox --cask   Step 2. 安裝 docker machine $ brew install docker-machine --cask   Step 3. 設定 使用 docker-machine 建立 VM 跑容器 $docker-machine create --driver virtualbox default $docker-machine restart   輸出環境變數 $docker-machine env default 如果執行以上的指令出現錯誤訊息 Error checking TLS connection: ...  可以執行以下指令重新產生憑證 $docker-machine regenerate-certs 最後套用環境變數, 讓 docker 知道要怎麼去跟這台 VM 溝通  $eval $(docker-machine env default)   測試 若做完以上的步驟沒噴錯誤訊息的話, 可以跑個 hello-world 看看 docker daemon 有沒有起來 $docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 0e03bdcc26d7: Pull complete Digest: sha...

十分鐘學會Kubernetes基本概念

What is Kubernetes 自從Google開源了Kubernetes(簡稱k8s)之後, k8s 已經成為目前最受歡迎的容器管理工具與調度平台, 現在不管在哪個雲端服務商Google, Microsoft, 或是Amazon 的布道大會上, 一定會有個議程在談k8s, 由此可見它的受歡迎程度相當的高 雖然k8s很受歡迎, 但實際上它並不是這麼好學的工具, 裏頭的觀念非常非常的多, 不可能一時片刻就完全學起來, 因此這篇文章將會著重在某些重點觀念上, 帶著大家簡單的了解k8s的基本功能與基本操作 為了簡化安裝步驟, 以下的教學將會使用minikue來讓大家體驗k8s Minikube 是一種閹割版的k8s, 由於安裝步驟非常簡單, 所以常常被用來當成入門k8s的工具 安裝步驟 使用Ubuntu 18.04 sudo apt update 安裝KVM會用到的套件 minikube會在宿主機上起一個vm跑k8s的相關服務, 所以我們必須安裝kvm相關套件 sudo apt install \ qemu-kvm \ libvirt-clients \ libvirt-daemon-system \ bridge-utils \ virt-manager 將使用者加入libvirt群組 讓一般使用者有權限執行 sudo usermod -a -G libvirt $(whoami) 安裝kubectl kubectl是kubenetes的管理工具 sudo snap install kubectl --classic 開始建立minikube curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ && chmod +x minikube \ && sudo cp minikube /usr/local/bin/ \ && rm minikube 安裝KVN2 driver curl -Lo docker-machine-driver-kvm2 h...