差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
tech:docker [2021/09/22 16:42] – [Image Template] jonathan | tech:docker [2023/11/20 12:03] (目前版本) – [設定自動清除 docker log] jonathan | ||
---|---|---|---|
行 1: | 行 1: | ||
====== Docker 語法與操作整理 ====== | ====== Docker 語法與操作整理 ====== | ||
- | * 雖然 CentOS 7 內建有 Docker 但是我大部分的環境還是 CentOS 6, 所以先以現有環境安裝測試 Docker 是否真的如傳說中的神奇 | ||
===== 安裝程序 ===== | ===== 安裝程序 ===== | ||
- | ==== CentOS 6 ==== | + | ==== Ubuntu 22.04 ==== |
- | * 需要先安裝 | + | * 安裝語法 |
- | rpm -Uvh http://mirror01.idc.hinet.net/EPEL/6/x86_64/epel-release-6-8.noarch.rpm | + | * 標準安裝 |
- | </code> | + | sudo apt-get update |
- | | + | sudo apt-get install ca-certificates curl gnupg |
- | yum install docker-io | + | sudo install -m 0755 -d / |
- | </code> | + | curl -fsSL https://download.docker.com/ |
+ | sudo chmod a+r /etc/apt/keyrings/docker.gpg | ||
+ | |||
+ | # Add the repository to Apt sources: | ||
+ | echo \ | ||
+ | "deb [arch=" | ||
+ | " | ||
+ | | ||
+ | sudo apt-get update | ||
+ | |||
+ | sudo apt-get | ||
+ | </cli> | ||
==== Ubuntu 20.04 ==== | ==== Ubuntu 20.04 ==== | ||
- | * 安裝語法 <cli> | + | * 安裝語法 |
+ | * 標準安裝 | ||
curl -fsSL https:// | curl -fsSL https:// | ||
sudo add-apt-repository "deb [arch=amd64] https:// | sudo add-apt-repository "deb [arch=amd64] https:// | ||
- | sudo apt-get install docker-ce=5: | + | sudo apt install docker.io docker-compose-plugin |
+ | </ | ||
+ | * 指定 docker 版本 < | ||
+ | curl -fsSL https:// | ||
+ | sudo add-apt-repository "deb [arch=amd64] https:// | ||
+ | sudo apt-get install docker-ce=5: | ||
+ | </ | ||
+ | * 設定特定使用者使用 docker 權限 Exp. jonathan< | ||
+ | sudo usermod -aG docker jonathan | ||
+ | </ | ||
+ | * 安裝 rootless docker 方式< | ||
+ | curl -s https:// | ||
+ | dockerd-rootless-setuptool.sh install | ||
</ | </ | ||
- | ===== 啟動程序 ===== | + | < |
- | ===== CentOS 6 ===== | + | * 如果要在 rootless docker 讓 container 能夠 listen 1024 以下的 Port 需要執行 |
- | <code sh> | + | sudo setcap cap_net_bind_service=+ep "/ |
- | service | + | systemctl --user restart |
- | chkconfig docker on | + | </ |
- | </code> | + | </note> |
+ | ==== 更新 docker compose 內相同 image 的最新版方式 ==== | ||
+ | * 參考 - https:// | ||
+ | * 因為有很多使用的 image 都是 latest 的 tag , 簡單更新與移除舊 image 方式如下< | ||
+ | docker compose pull | ||
+ | docker compose up --force-recreate --build -d | ||
+ | docker image prune -f | ||
+ | </ | ||
+ | |||
+ | ==== 設定自動清除 docker log ===== | ||
+ | * 主要是建立 / | ||
+ | { | ||
+ | " | ||
+ | } | ||
+ | </ | ||
===== 開始下載與測試 Template ===== | ===== 開始下載與測試 Template ===== | ||
* CentOS <code sh> | * CentOS <code sh> | ||
行 68: | 行 105: | ||
docker ps --all | docker ps --all | ||
</ | </ | ||
+ | * 使用 bash 進入到運行中的 docker container **docker exec -it < | ||
+ | ~$ docker exec -it c789b6b5ee99 bash | ||
+ | bash-5.0# | ||
+ | </ | ||
* 切換到運行中的 docker container **docker attach < | * 切換到運行中的 docker container **docker attach < | ||
docker attach silly_hawking | docker attach silly_hawking | ||
行 90: | 行 131: | ||
docker rm 2522259349a9 | docker rm 2522259349a9 | ||
</ | </ | ||
+ | * 查看 image 內的相關訊息 **docker run -i -t < | ||
+ | docker run -i -t php: | ||
+ | </ | ||
+ | |||
+ | ===== 針對 docker compose 內其中一個 container 更改設定後重新啟動 ===== | ||
+ | * 參考 - https:// | ||
+ | * 處理方式 Exp. iii-devops-lite-ui< | ||
+ | docker-compose up -d --no-deps iii-devops-lite-ui | ||
+ | </ | ||
===== 預計測試項目 ===== | ===== 預計測試項目 ===== |