目录
Docker 部署 .net Core 3.1
1. 安装Docker
链接: windows.
下载安装包后,点点点,安装就好了
参考大佬文章.
安装后打开出现问题可以参考
2. 安装后验证
打开cmd窗口,执行命令
docker version
常用命令介绍
列出所有镜像
docker images
删除镜像(删除容器后才能删除镜像)
docker rmi 镜像ID
由镜像生成的 容器
列出运行中的容器
docker ps
列出所有容器
docker ps -a
启动容器
docker start 容器ID
停止容器
docker stop 容器ID
删除容器(先停止才能删除)
docker rm 容器ID
2. 新增项目,配置端口,发布
我这边直接创建 ASP.NET Core Web API项目
配置端口如下图
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseUrls("http://*:5000").UseStartup<Startup>();
});
}
发布项目
3. 配置Dockerfile 文件
打开发布的文件夹
创建文件
.dockerignore
可以配置一些要忽略的文件/文件夹
创建文件Dockerfile
(没有后缀)内容如下
#父镜像,或者说是运行环境
FROM mcr.microsoft.com/dotnet/aspnet:3.1
#设置容器工作目录
WORKDIR /DockerDemo
#把当前目录的所有文件copy到工作目录中
COPY . /DockerDemo
#暴露一个端口让外部可以访问 要同上面设置的端口
EXPOSE 5000
#容器入口命令,即容器启动时执行dotnet DockerDemo.dll命令
ENTRYPOINT ["dotnet", "DockerTest01.dll"]
5. 创建镜像
docker build -t 【名字】:【版本号】 【路径,.为当前】
打开cmd窗口,执行命令,生成镜像
docker build -t dockerdemo:v1.0 D:\publish_test
执行命令docker images
列出所有镜像,可以看到
6. 生成&运行容器
执行命令
docker run -d -p 13425:5000 dockerdemo:v1.0
-d 表示后台运行
-p 13425:5000表示服务器的13425端口映射到容器的5000端口
本地打开浏览器,查看是否生效
http://localhost:13425/weatherforecast
参考自
https://blog.csdn.net/dupeng0811/article/details/89877561
https://www.cnblogs.com/songl/p/11128012.html
https://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html
Docker 部署 Redis
- 下载镜像:
docker pull redis
- 直接发布镜像到容器
docker run --name redis2 -p 6380:6380 -d redis
- 指定配置发布镜像到容器
docker run -v /d/redis.conf:/usr/local/etc/redis.conf --name redis3 -p 6380:6380 -d redis redis-server /usr/local/etc/redis.conf
-v /d/redis.conf:/usr/local/etc/redis.conf
本地文件/d/redis.conf 拷贝到容器内的/usr/local/etc/redis.conf
redis.conf下载地址https://raw.githubusercontent.com/antirez/redis/5.0/redis.conf
bind的地址从127.0.0.1改为0.0.0.0,以便让其它地址可以连接
设置密码 requirepass 密码
- 运行Redis命令行管理工具
docker exec -it redis2 redis-cli
可选连接密码后面追加-a 密码