步驟主要分為以下幾步:
1、創建docker for linux 的.netcore 項目(vs 自動創建了dockerfile 如果沒有需要自己創建在根目錄下)
2、編譯項目到指定目錄下
3、build 鏡像
4、 run 運行
針對以上幾個步驟,遇到了的一些問題:
1、首先創建.net core 項目,選擇了 docker for windows
后續build 時一直顯示
重新改成了for linux 不再報錯
2、vs 自動創建的dockerfile 文件中有 copy 工程文件csproj
但是編譯文件中沒有該文件,目前兩種方式:一是保留vs自動創建的 dockerfile ,然后把工程文件copy到編譯文件下;而是,刪除copy 工程文件的代碼。兩者皆可運行,目前還沒有發現區別。
3、build 一直報找不到 鏡像的錯誤,需要拉取docker pull microsoft/dotnet dotnet
4、最后run的時候 docker run -it -p 5001:8100 dockercore run 成功了,但是瀏覽器一直不能正常訪問。但是docker 內部訪問正常。一是:端口權限沒有開;二是:default ip 的原因
修改方案:需要 stop 和 rm 容器。然后執行docker run --privileged=true -d -p 5001:8100 --name server dockerfile *;
docker-machine ip defalut 查出 默認ip
使用默認ip 訪問 可以正常訪問了。
常用的一些 命令:
docker ps 顯示容器啟用情況,以及端口 和 容器ID 等
docker stop 容器ID 停止
docker rm 容器ID 移除
docker build -t 鏡像名 . (. 不能少) 編譯
docker run -d -p 5001:8100 鏡像名 運行
docker exec -it d09306b53617 bash docke 內部運行 exit 退出
curl 運行站點結果
dockerfile 截圖
