linux用的是centos7.
- 首先执行命令 安装docker yum install -y docker
- 安装完成之后执行 docker version 查看是否安装成功,设置开机启动
systemctl enable docker
systemctl start docker - 拉取官方docker,本文拉取的是.netcore2.2版本
docker pull microsoft/dotnet:2.2-aspnetcore-runtime
执行docker images 查看镜像看到镜像已经拉取过来
- 新建.netcore webapi项目,并新建Dockefile
文件内容如下
#指定基础镜像
FROM microsoft/dotnet:2.2-aspnetcore-runtime#指定工作目录
WORKDIR /publish
#把当前程序文件复制到工作目录
COPY . /publish
ENTRYPOINT ["dotnet", "webapi.dll"] - 发布项目和之前一样,在vs中点击发布,目标运行时选择 可移植,其他默认即可
把发布后的文件和Dockfile文件一期复制到Centos7中,打包项目成为镜像
docker build -t webapi .运行镜像,name参数用来指定容器名称 p代表容器内容内部的8080端口映射到主机的8080端口 d代表后台运行 webapi代表运行容器使用的镜像
docker run --name mywebapi -p 8080:8080 -d webapi
然后运行docker ps查看正在运行的容器。可以看到有一个容器name是mywebapi的容器已经在运行了。
通过浏览器访问http://localhost:8080/api/values 可以查看网站已经在运行了