Docker

创建镜像

生成Dockerfile

基于asp.net core application

// 如果你构建的镜像是基于另一个镜像,那么就需要用到from指令,此处是基于dotnet 的sdk镜像
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build

// 设置容器的运行目录
WORKDIR /src

// 将项目文件拷贝到容器中
COPY *.csproj ./

// 文件拷贝期间或者完成后需要运行的命令,如还原项目依赖项等
RUN dotnet restore

COPY . .
WORKDIR "/src/."
RUN dotnet build "testEFCore.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "testEFCore.csproj" -c Release -o /app/publish

FROM mcr.microsoft.com/dotnet/core/sdk:3.1
WORKDIR /app
COPY --from=publish /app/publish .

// 定义容器的入口,可以是应用启动的命令
ENTRYPOINT ["dotnet", "testEFCore.dll"]

构建镜像

docker build -t aspnetapp .

运行镜像

docker run -d -p 8080:5000 --name myCore -v ${pwd}:/app/out aspnetapp

发布镜像

运行没有问题,就可以发布到 docker hub

docker login
docker run 用户名/镜像名

拉取镜像

发布到 docker hub 后,就可以直接使用命令拉取

docker pull 镜像名:tag

常用的 docker 命令

docker version
docker --version
docker pull
docker image ls
docker rmi
docker run
docker ps
docker ps -a
docker rm

--以sqlserver为例
-- 进入交互模式
docker exec -it `containerName` /bin/bash
docker	exec /opt/mssql-tools/bin/sqlcmd -S . -U sa -P xxx
-- 进入交互模式
docker exec -it `containerName` /opt/mssql-tools/bin/sqlcmd -S . -U sa -P xxx

在这里插入图片描述

posted @ 2020-05-30 23:40  liujiangbo  阅读(37)  评论(0)    收藏  举报