docker build -t dockerdemo03 . # 這個命令的後邊,必定要有一個圓點
b,根據一個鏡像文件,運行一個容器
docker run -d -p 9990:80 dockerdemo03
容器運行成功後,能夠經過以下IP進行訪問:
#route print 192.168.11.89 route -p add 192.168.11.89 MASK 255.255.255.240 10.0.75.1 #route delete 192.168.11.89
http://192.168.11.89:9990/api/values
netsh int ipv4 reset
方法二(摘自:https://www.cnblogs.com/KeenLeung/p/3511233.html):
netsh winsock reset catalog netsh int ip reset reset.log hit
重啓電腦後生效。
備註:
一些基本Docker操做命令
docker images 查看鏡像文件 docker ps -a 查看全部容器的運行記錄,以異常方式退出的容器將具備非零狀態代碼 docker ps 查看正在運行的容器 docker stop <container-id> 中止某個容器 docker kill <container-id> 殺掉某個容器 docker rm <container-id> 刪除某個容器 docker rmi <image-id> 刪除某個鏡像
三,docker 鏡像的 PUSH,PULL(深坑)
如今,如今我要把這個鏡像文件發佈到服務,個人思路是:先把鏡像文件 PUSH 到Docker的倉庫,再到服務器上把這個鏡像文件拉取下來。
1,把鏡像文件PUSH到倉庫:
用本身註冊的帳號登陸到Docker
把鏡像文件推送到倉庫
#給鏡像文件取一個別名 docker tag bbbf62ce2eaf xcj26/webapp22 #把鏡像文件推送到倉庫 docker push xcj26/webapp22
推送成功。
2,服務器PULL 鏡像文件:
進入到服務器(Window Server 2016)的Docker ,登陸並拉取剛纔PUSH的鏡像文件:
docker pull xcj26/webapp22 #拉取鏡像文件
錯誤信息提示爲:
a Windows version 10.0.17134-based image is incompatible with a 10.0.14393 host
顯示操做系統的版本不兼容
=====換個思路=====
我把本地的程序發佈成本地文件,而後拷貝到服務器,再建立 Dockerfile 生成鏡像文件。
也是一樣的問題
a Windows version 10.0.17134-based image is incompatible with a 10.0.14393 host
查閱了不少資料,最有用的就是以下這兩個信息:
stackoverflow:https://stackoverflow.com/questions/54229367/dockers-image-and-host-are-incompatible
windows 容器的兼容性:https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility
大體意思是 基礎鏡像庫(FROM mcr.microsoft.com/dotnet/core/aspnet:2.1-nanoserver-1803 AS base)不支持在Windows Server 2016(10.0.14393) 服務器上運行。 可是支持在Win 10(10.爲。17134)電腦上運行。
在Win 10電腦上用Docker環境上開發一個程序,而不能在自家的服務器Window Server 2016上運行。
補充:
https://hub.docker.com/_/microsoft-dotnet-core-aspnet/ docker pull mcr.microsoft.com/windows/servercore:1903 no matching manifest for windows/amd64 10.0.14393 in the manifest list entriesdocker pull mcr.microsoft.com/windows/servercore:1803no matching manifest for windows/amd64 10.0.14393 in the manifest list entriesdocker pull microsoft/windowsservercoredocker pull nanoserver/iis