1.安装docker
先更新一下yum
yum update
安装
yum install -y docker
启动
systemctl start docker #启动
systemctl status docker #查看状态
修改镜像配置文件,改为ustc镜像
vi /etc/docker/daemon.json
添加如下代码
{ "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"] }
重启
systemctl daemon-reload #重新加载配置
systemctl restart docker #重启docker
docker info # 查看信息,最末尾处有 Registry Mirrors 配置信息
尝试一下,拉去镜像
docker pull hello-world
docker search hello-world #拉取之前可以查看一下有什么版本
这里如果没有开放安全组入站规则,会访问不到,卡住,然后出现错误,记得开放(指云服务器)
docker images #查看镜像
跑一下试试
docker run hello-world
成功!!!!!
2.安装dotnet core 2.2 环境
很简单,一句命令搞的
docker pull microsoft/dotnet:2.2-aspnetcore-runtime
3.配置 dotnet core 项目
本地新建一个项目,修改Program
public class Program { public static void Main(string[] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseUrls("http://*:2202") .UseStartup<Startup>(); }
这是为了指定端口,* 是为了让linux 能够通过 curl 访问到容器的站点,后面会说
关键点来了,新建 Dockerfile
FROM microsoft/dotnet:2.2-aspnetcore-runtime #第2点拉取的镜像 COPY . /data/www #从本地(也就是项目发布的目录)copy到镜像的这个位置 WORKDIR /data/www #去访问这个位置 EXPOSE 2202 ENTRYPOINT ["dotnet", "CoreDemo.dll"]
并且设置属性为 始终复制/较新复制
发布,并且上传到linux,要上传到什么目录自己决定
cd 到发布根目录
docker build -t coredemo . #创建镜像,名字自己定义 docker run --name mycoredemo -p 2202:2202 -d coredemo #运行并产生容器,--name为容器名自己定义 -p linux开放的端口供外界访问:镜像的端口 -d为镜像名
现在可以使用curl 查看是否能打印代码
curl http://localhost:2202
其他相关操作
docker ps #显示运行中容器 docker ps -a #显示所有容器 删除 先停止、删除容器、再删镜像 docker stop 容器id\name docker rm 容器id\name docker rmi 镜像 id\name