整理docker中常用的命令,方便大家學習和命令查詢。最後分享一個.NET Core docker部署的示例 ...
本篇文章,整理docker中常用的命令,方便大家學習和命令查詢。最後分享一個.NET Core docker部署的示例。
Docker安裝 CentOS Docker 安裝 安裝 Docker Desktop for Mac、Docker Desktop for Windows 設置docker倉庫鏡像加速器 遷移Docker預設存儲目錄 Docker運行基本命令 docker [--helper]:顯示所有docker命令 docker [command] --help:顯示指定命令的幫助文檔 docker info:顯示docker系統信息 docker version:顯示docker版本信息 docker stats:顯示運行的容器占用的容器資源(eg:容器名、cpu、記憶體、io等)(Ctrl+C退出) systemctl status docker:顯示docker的運行狀態 systemctl start docker:啟動docker systemctl stop docker:關閉docker systemctl restart docker:重啟docker Docker倉庫 Docker Hub docker login -u 用戶名 -p 密碼 [倉庫地址]:登陸到一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,預設為官方倉庫 Docker Hub docker logout:推出倉庫 docker search [image id or name]:從Docker Hub查找鏡像 docker pull [image id or name]:拉取鏡像 docker tag [local image id or name]:[tag] [registry host]/[鏡像倉庫]/[image name][:tag]: 標記本地鏡像,將其歸入某一倉庫。 docker push [image id or name]:推送鏡像到Docker Hub #、示例:推送到阿裡雲images倉庫 sudo docker login --username=*** registry.cn-shenzhen.aliyuncs.com sudo docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/mk-application/mk.admin:[鏡像版本號] sudo docker push registry.cn-shenzhen.aliyuncs.com/mk-application/mk.admin:[鏡像版本號] (registry.cn-shenzhen.aliyuncs.com/mk-application/mk.admin 為images倉庫地址) images 操作 docker tag [image id] REPOSITORY:TAG(倉庫:標簽):重命名鏡像名 docker images [options]:顯示所有鏡像文件 常用OPTIONS說明: -a :列出本地所有的鏡像 -f :顯示滿足條件的鏡像; -q :只顯示鏡像ID docker image inspect : 獲取鏡像的元數據。 docker build [options] [image id or name] .:構建一個鏡像。 (註意:最後空格後面有一個.)。 常用OPTIONS說明: --tag, -t: 鏡像的名字及標簽,通常 name:tag 或者 name 格式; -f :指定要使用的Dockerfile路徑;(預設當前目錄的Dockerfile) -m :設置記憶體最大值; docker rmi [-f] [image id or name]:刪除指定鏡像(-f :強制刪除) docker rmi $(docker images -q):刪除所有鏡像 docker commit [container id or name] [image id or name[:tag]]:從容器創建一個新的鏡像。 docker images | grep "redis" :查詢所有包含redis的鏡像 示例:![clipboard clipboard](https://img2020.cnblogs.com/blog/106337/202004/106337-20200414222700768-998213447.png)
{
"urls": "http://*:44380"
}
![image image](https://img2020.cnblogs.com/blog/106337/202004/106337-20200415001915542-690765668.png)
#第一個指令,FROM 指定基礎構建鏡像 #基於 `microsoft/aspnet:3.1` 來構建我們的鏡像 FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 #拷貝項目publish文件夾中的所有文件到 docker容器中的publish文件夾中 COPY . /publish #設置工作目錄為 `/publish` 文件夾,即容器啟動預設的文件夾 WORKDIR /publish EXPOSE 44380 #使用`dotnet ***.dll`來運行應用程式 ENTRYPOINT ["dotnet", "Mk.Admin.HttpApi.Host.dll"]第三步:創建鏡像 在發佈目錄 **\publish\mk.admin 目錄下,執行命令:
#、構建鏡像 docker build -t img.mk.admin . #、運行容器 docker run --name mk.admin -p 44380:44380 -v /usr/application/Mk.Admin/Logs:/publish/Logs -d --restart=always img.mk.admin (數據捲:將宿主機的/usr/application/Mk.Admin/Logs目錄映射到容器的/publish/Logs目錄,這樣就可以在宿主機上查看和刪除日誌文件) #、查看運行中的容器 docker ps#、輸入地址,查看站點運行狀態
![](https://img2020.cnblogs.com/blog/106337/202004/106337-20200414224220217-819084247.png)