助教工作:關於如何快捷生成千帆競發圖
阿新 • • 發佈:2020-09-16
安裝與解除安裝
指令碼安裝
使用指令碼安裝 docker 極其簡單,在終端輸入以下命令,等待完成
curl -sSL https://get.docker.com | sh
確認是否成功
sudo docker --version
解除安裝
apt-get remove docker-ce docker-ce-cli # 解除安裝軟體
apt-get remove –purge docker-ce docker-ce-cli # 解除安裝並清除配置
常用命令
啟動和關閉 docker 服務
sudo service docker start# 啟動Docker服務 sudo service docker stop# 關閉Docker服務
重啟 docker 並常駐服務
sudo systemctl restart docker.service
sudo systemctl enable docker.service
為當前使用者增加許可權
sudo groupadd docker
sudo usermod -aG docker userName # 此處 userName 替換為你的使用者名稱
檢視 docker 基本資訊
包括視窗、映象數量和執行情況,安裝目錄等
sudo docker info
映象
檢視所有下載映象的狀態
sudo docker images
搜尋映象
映象的名字通常由使用者名稱/映象名構成, 無使用者名稱的為官方認證映象。
docker search ubuntu
獲取映象
sudo docker pull ubuntu # 使用 ubuntu:版本號 可以指定要下載的版本,預設為最新版本latest
刪除映象
sudo docker rmi ubuntu # 需先刪除映象對應的容器
刪除所有映象
sudo docker rmi $(docker images -q) # 需先刪除映象對應的容器
容器
檢視所有容器的狀態
sudo docker ps -a
執行容器
sudo docker run --rm ubuntu echo "Hello from docker" # rm 引數:容器執行結束之後就自動刪除
後臺執行容器
sudo docker run -d --name=ubuntu ubuntu # name引數: 為容器指定 name
互動式執行容器
sudo docker run -it --name=ubuntu ubuntu
# it引數:{
# i:即使未連線,互動式仍保持標準輸入(鍵盤)開啟
# t: 分配一個偽終端
# }
# name引數: 為容器指定 name
檢視執行的詳細引數
sudo docker run --help
停止容器
sudo docker stop ubuntu
進入停止的容器
sudo docker start ubuntu
# attach命令只能在本機開發時使用
# 因為退出會造成容器關閉,某臺機器故障會造成所有人阻塞
sudo docker attach ubuntu
# 該命令可用於生產環境;退出不關閉,無阻塞
sudo docker exec -it ubuntu /bin/bash
刪除容器
sudo docker rm ubuntu # 容器不能處於執行狀態
刪除所有停止的容器
sudo docker rm -v $(docker ps -a -q -f status=exited)
檢視指定容器 ip
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
檢視所有容器 ip
docker inspect --format='{{.Name}} - {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
目錄掛載
掛載宿主機目錄 /test 到容器的 /soft 目錄
sudo docker run -it -v /test:/soft ubuntu
# 掛載時所有目錄都應使用絕對目錄
# 宿主機目錄 /test 如果不存在,則會自動生成,
# 宿主機目錄不填寫 如 $ docker run -it -v /test2 ubuntu 則預設掛載在宿主機/var/lib/docker/volumes/下新建的目錄下
容器自動重啟
在因外界原因導致容器停止後,docker 自動重啟容器
sudo docker run -it --restart always ubuntu
容器追加啟動引數
在實際生產應用中,一個容器可能會連續執行數月甚至數年,後期由於需求變動,可能需要在容器啟動時新增新的啟動引數。此時,相比新建容器更好的解決方案是
使用 docker 提供的 docker container update
docker container update --restart=always ubuntu # 為 ubuntu 追加自動重啟引數