1. 在VM中安装centos7 uname -r 需要linux内核为3.10版本以上。
2. ip addr 查看ip,如无则输入
[root@localhost ~]# cd /etc/sysconfig/network-scripts
[root@localhost network-scripts]# vi ifcfg-eno[网卡名称]
修改:ONBOOT=yes
再重启网卡
[root@localhost network-scripts]# systemctl restart network
再次查看ip
3. 分别在本机和虚拟机测试能否ping通,不能则关闭防火墙再测试
systemctl stop firewalld
4. 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5. 设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6. 安装docker
sudo yum install docker-ce-17.12.0.ce
7. 启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
8. 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
9. 使用vs2019创建并发布项目,注意启用docker
10. 在目录【bin\Release\netcoreapp3.1】下创建【Dockerfile】文件,没有文件类型,【Dockerfile】文件内容
#基于 `microsoft/dotnet:1.0.0-core` 来构建我们的镜像
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
#拷贝项目publish文件夹中的所有文件到 docker容器中的publish文件夹中
COPY . /publish
#设置工作目录为 `/publish` 文件夹,即容器启动默认的文件夹
WORKDIR /publish
#设置Docker容器对外暴露80端口
EXPOSE 80
#使用`dotnet WebApiDocker.dll`来运行应用程序;WebApiDocker.dll即项目发布时的dll
ENTRYPOINT ["dotnet", "WebApiDocker.dll"]
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
COPY ./publish /publish
WORKDIR ./publish
EXPOSE 80
ENTRYPOINT ["dotnet", "DockerDemo.dll"]
11,通过【SecureFX】工具上传【WebApiDocker】项目发布目录【bin\Release\netcoreapp3.1】到Linux系统的【/opt】目录下
12,通过【SecureCRT】工具连接到Linux系统,切换到【/opt/netcoreapp3.1】文件夹目录
[root@localhost ~]# cd /opt/ netcoreapp3.1
13,创建镜像
[root@localhost netcoreapp3.1]# docker build -t myshop_image .
6,创建并运行容器:docker run --name 容器名 -p 容器外部端口:容器内部端口 镜像名
[root@localhost netcoreapp3.1]# docker run --name myweb -p 8181:80 myshop_image