​回到目录 dotnet core​

​回到目录    docker ​

大叔感觉网上对Dockerfile的说明不是很清楚,或者说怎么去用说的不清楚,在vs2017里我们可以去建立自己的Dockerfile文件,然后你的项目可以被生成一个镜像,把它推到仓库之后,你可以在linux,mac上去run你的项目了!听着很爽,但过程确实有些坑!

Dockerfile里的解答

  1. From  基础依赖镜像
  2. ARG 输入一个参数,这里指你Dockerfile所在的目录
  3. EXPOSE  对外开放的端口
  4. COPY ${source:-bin/publish} ./hello  把source所在的目录下的,bin/publish子目录的内容复制到容器的hello目录
  5. WORKDIR hello    把当前容器目前改为hello目录
  6. ENTRYPOINT ["dotnet", "dockerMvc.dll"]  运行donet命令,参数是dockerMvc.dll

在命令行里执行docker build

首先使用cd把当前目录定在项目目录,如E:\GitHub\dotnet\dockerMvc\dockerMvc

DotNetCore跨平台~Dockerfile的解释_docker

然后输入docker build "bin\Release\PublishOutput" ,注意这个参数是指你Dockerfile所有的目录,并且它是相对于当前来说的,所有目录层次关系要搞清楚,而你要程序目录可能是这个目录下面的bin/publish目录.

DotNetCore跨平台~Dockerfile的解释_mvc_02

最后,我们的images就被成功建立了docker images

DotNetCore跨平台~Dockerfile的解释_docker_03

其时,最初,大叔认为docker build在执行时,必须把当前目录定在Dockerfile所有目录,经过今天的测试才知道,你完全可以把它重新指定,它与当前上当无关,只是build的一个参数而以。

​回到目录​

​回到目录    docker ​

作者:仓储大叔,张占岭,
荣誉:微软MVP