第一種,自己手寫dockerfile發佈,上傳至hubDocker 1. 正常發佈到文件夾中,發佈文件上傳至linux機器上。如 /www/app 2. 將Dockerfile文件也複製到同目錄 。/www/app 3. 輸入 ,構建一個demo名字的鏡像。這個時候就會構建鏡像,輸入 可以查看當剛剛 ...
第一種,自己手寫dockerfile發佈,上傳至hubDocker
正常發佈到文件夾中,發佈文件上傳至linux機器上。如 /www/app
將Dockerfile文件也複製到同目錄 。/www/app
輸入
docker image build -t demo .
,構建一個demo名字的鏡像。這個時候就會構建鏡像,輸入docker images
可以查看當剛剛生成的鏡像。也可以看到下麵會用到的IMAGEID輸入
docker run --name=demo -d -p 8000:80 -v /www/app:/app demo
這時候訪問ip:8000就可以了,輸入
docker ps
可以看到正在運行的容器的信息。上傳鏡像到hubDocker,輸入
docker login
然後登錄。打標簽
docker tag IMAGEID hanfan/demo:1.0
推送docker push hanfan/demo:1.0
其他人就可以
docker pull hanfan/demo:1.0
拉取運行鏡像了。使用Nginx反向代理
搞定
第二種,使用VS2017或者VS2019(其他的沒試過)
項目點右鍵添加Docker支持,選擇Liunx,也會生成一個dockerfile文件,這個文件的坑更加項目自己去排坑
點擊解決方案添加docker-compose項目
運行,這個時候會生成一個鏡像。輸入
docker images
可以查看。鏡像都生成好了,就上第一種一樣的操作了
搞定
寫一個自己的dockerfile
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
COPY . .
RUN ln -s /lib/x86_64-linux-gnu/libdl-2.24.so /lib/x86_64-linux-gnu/libdl.so
RUN echo "deb http://mirrors.aliyun.com/debian wheezy main contrib non-free deb-src http://mirrors.aliyun.com/debian wheezy main contrib non-free deb http://mirrors.aliyun.com/debian wheezy-updates main contrib non-free deb-src http://mirrors.aliyun.com/debian wheezy-updates main contrib non-free deb http://mirrors.aliyun.com/debian-security wheezy/updates main contrib non-free deb-src http://mirrors.aliyun.com/debian-security wheezy/updates main contrib non-free" > /etc/apt/sources.list
EXPOSE 80
RUN apt-get update
RUN apt-get install libgdiplus -y && ln -s libgdiplus.so gdiplus.dll
FROM base AS final
WORKDIR /app
ENTRYPOINT ["dotnet", "xxxxx.dll"]