本文共 1587 字,大约阅读时间需要 5 分钟。
docker 常用命令
docker images // 查看当前已有的docker镜像文件docker ps -a //查看当前已经运行镜像docker logs 容器名称 //查看日志信息docker build -t mytest . //编译.net core 项目 mytest 为 docker 镜像docker run --name mytest -d -p 6666:6666 mytest //运行一个名字为mytest的后台镜像,端口映射为外网6666,内网6666,镜像由mytest 生成。
首先,项目,右键,选择添加docker 支持(这一部分操作必须)
然后选择 linux 主要是为了发布到 centos 上
然后,确定,会变成这样
其实就是多了一个 Dockerfile 文件。
默认里面内容是:
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim AS baseWORKDIR /app FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS buildWORKDIR /srcCOPY ["ConsoleApp1/ConsoleApp1.csproj", "ConsoleApp1/"]RUN dotnet restore "ConsoleApp1/ConsoleApp1.csproj"COPY . .WORKDIR "/src/ConsoleApp1"RUN dotnet build "ConsoleApp1.csproj" -c Release -o /app/build FROM build AS publishRUN dotnet publish "ConsoleApp1.csproj" -c Release -o /app/publish FROM base AS finalWORKDIR /appCOPY --from=publish /app/publish .ENTRYPOINT ["dotnet", "ConsoleApp1.dll"]
实际上,只需要 是以下的内容就可以了。
FROM mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim AS baseWORKDIR /appCOPY . .ENTRYPOINT ["dotnet", "ConsoleApp1.dll"]
然后,复制到 linux上,然后,运行以下命令
docker build -t mytest .
其中 mytest为名字,默认只能小写
而 . 表示 在当前目录下找 Dockerfile 文件。
执行后如下图所示:
docker image 命令查看是否已经安装
然后,使用此镜像。
docker run --name mytest -d -p 6666:6666 mytest
参数解释:
--name 表示容器名称(区分大小写),也可以不指定,默认会生成
-d 表示在后台以守护形式运行容器
-p 表示外部端口与内部容器端口映射。
mytest 是我们刚才创建的镜像名称
执行后,结果如下:
然后执行 命令查看,是否运行成功
可见我们的镜像已经在执行了。
然后,查看它的日志,看看它输出了什么
docker logs mytest
查看,结果如下:
跟我程序的输出是一致的。
转载地址:http://xlnci.baihongyu.com/