1. 项目添加Docker支持
创建项目的时候可以直接启用Docker支持,如下图:
如果想要在现有项目中添加Docker支持,可以在VS中选中项目右键添加docker支持,如下图:
正确添加完项目Docker支持后,在项目的根目录下会生成一个Dockerfile文件,Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。在项目中我们需要修改Dockerfile的属性,修改为较新则复制。
2. 检查Docker运行状态
打开PowerShell ,输入 docker info 出现下面的界面的样子证明docker 一切正常
如未能成功启用,首先先检查一下Hyper-V是否正常启动,打开资源管理器查看即可,如下图:
输入 docker hello-world 检查docker是否可以正常链接到镜像,出现下图代表正常。
错误tips:
出现错误:
Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
...
解决方式:添加国内镜像加速源,修改 resources: "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"],后重启docker
对dockerfile文件解释说明:
1.FROM
通过FROM指令来设置要制作的镜像基于哪个镜像,FROM指令必须是整个Dockerfile的第一个指令,如果指定的镜像不存在默认会自动从Docker Hub上进行拉取
2.WORKDIR
通过workdir指令用于设置Dockerfile中的RUN、CMD和ENTRYPOINT指令执行命令的工作目录(默认为/目录),该指令在Dockerfile文件中可以出现多次,如果使用相对路径则为相对于WORKDIR上一次的值
3.COPY
通过COPY指令来从指定路径拷贝一个文件或目录到容器的指定路径中
4.RUN
RUN指令会在一个新的容器中执行任何命令,然后把执行后的改变提交到当前镜像,提交后的镜像会被用于Dockerfile中定义的下一步操作,RUN中定义的命令会按顺序执行并提交,这正是Docker廉价的提交和可以基于镜像的任何一个历史点创建容器的好处,就像版本控制工具一样
5.EXPOSE
通过EXPOSE指令用来告诉Docker这个容器在运行时会监听哪些端口
6.ENTRYPOINT
通过ENTRYPOINT指令我们指定在容器启动时要运行的应用程序