0
点赞
收藏
分享

微信扫一扫

Docker 学习

云卷云舒xj 2022-01-23 阅读 44

Docker 学习

1. Pull a image

$> docker pull mcr.microsoft.com/powershell
Using default tag: latest
latest: Pulling from powershell
7b1a6ab2e44d: Pull complete
f2664bfe00f4: Pull complete
6c32701b9784: Pull complete
990872d4a1e1: Pull complete
Digest: sha256:c07466c498fb7e23623802f527c3d8dd2c7dffa1ac980a8f147c7756dc574703
Status: Downloaded newer image for mcr.microsoft.com/powershell:latest
mcr.microsoft.com/powershell:latest

2. List image

docker image ls
REPOSITORY                     TAG       IMAGE ID       CREATED       SIZE
mcr.microsoft.com/powershell   latest    aed5a594c80f   5 weeks ago   338MB

3. List container

docker container ls
CONTAINER ID   IMAGE                                      COMMAND                    CREATED         STATUS         PORTS                                           NAMES
5456b6ba0849   mcr.microsoft.com/windows/servercore/iis   "C:\\ServiceMonitor.e…"    6 minutes ago   Up 6 minutes   0.0.0.0:8080->80/tcp                            serene_hofstadter
8054144de73f   todoapi:dev                                "C:\\remote_debugger\\…"   44 hours ago    Up 44 hours    0.0.0.0:60921->80/tcp, 0.0.0.0:60920->443/tcp   TodoApi

4. Run

docker run -it -p 8080:80 mcr.microsoft.com/windows/servercore/iis

 Service 'w3svc' has been stopped

 Service 'w3svc' started

CTRL signal received. The process will now terminate.

Stopping service 'w3svc'

 Service 'w3svc' has been stopped
PS C:\WINDOWS\system32> docker run -d -p 8080:80 --name mysite mcr.microsoft.com/windows/servercore/iis
244d4a7a2b433fd407616805bf50b23de3e2dc7d4aa2d91b1fb39bc648e58fb9
docker container run -it --name ps mcr.microsoft.com/powershell pwsh.exe
PowerShell 7.2.1
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

PS C:\> pwd

Path
----
C:\

PS C:\> ls

    Directory: C:\

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-r--          12/16/2021  4:56 AM                Program Files
d----            5/5/2021  5:30 AM                Program Files (x86)
d-r--            5/5/2021  5:41 AM                Users
d----          12/16/2021  4:57 AM                Windows
-a---           10/8/2019  4:32 AM           5510 License.txt

6. Stop/start container

PS C:\WINDOWS\system32> docker container stop web
web
PS C:\WINDOWS\system32> docker container cp c:\temp/index.html web:c:\inetpub\wwwroot\index.html
PS C:\WINDOWS\system32> docker container start web

10. docker Windows /Linux container切换

此版本的docker可同时运行Windows container和Linux container切换命令

$>"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon
C:\Users\Yiming>docker version
Client:
 Cloud integration: v1.0.22
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:44:07 2021
 OS/Arch:           windows/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.24)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:42:13 2021
  OS/Arch:          windows/amd64
  Experimental:     false

$>"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon

C:\Users\Yiming>docker version
Client:
 Cloud integration: v1.0.22
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:44:07 2021
 OS/Arch:           windows/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:43:56 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
========== 容器必备项检查 ==========
正在验证是否安装了 Docker Desktop...
安装了 Docker Desktop。
========== 正在验证 Docker Desktop 是否正在运行... ==========
正在验证 Docker Desktop 是否正在运行...
Docker Desktop 正在运行。
========== 正在验证 Docker OS ==========
正在验证 Docker Desktop 的操作系统模式是否匹配项目的目标操作系统...
正在将 Docker 切换为使用 Windows 容器...
C:\Program Files\Docker\Docker\DockerCli.exe -SwitchDaemon
Docker 正在使用 Windows 容器。
Docker Desktop 的操作系统模式与项目的目标操作系统匹配。
========== 拉取所需的映像 ==========
正在检查缺少的 Docker 映像...
正在拉取 Docker 映像。要取消此下载,请关闭命令提示符窗口。
docker pull mcr.microsoft.com/dotnet/aspnet:6.0
Docker 命令失败,退出代码为 1。
Docker pull 失败。
Docker 映像准备就绪。
========== 正在为 TodoApi 预热容器 ==========
正在启动容器...
docker build -f "C:\Users\Yiming\source\repos\TodoApi\Dockerfile" --force-rm -t todoapi:dev --target base  --label "com.microsoft.created-by=visual-studio" --label "com.microsoft.visual-studio.project-name=TodoApi" "C:\Users\Yiming\source\repos\TodoApi" 
Sending build context to Docker daemon  16.38kB

Step 1/6 : FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
6.0: Pulling from dotnet/aspnet
9fe77f388d9b: Pulling fs layer
a229c8bfbb45: Pulling fs layer
5900e8be836c: Pulling fs layer
c5842bccb0c6: Pulling fs layer
fbec070f0389: Pulling fs layer
ecae3d2ce50e: Pulling fs layer
697315adfce9: Pulling fs layer
ba4b29471029: Pulling fs layer
c5842bccb0c6: Waiting
fbec070f0389: Waiting
ecae3d2ce50e: Waiting
697315adfce9: Waiting
ba4b29471029: Waiting
5900e8be836c: Verifying Checksum
5900e8be836c: Download complete
a229c8bfbb45: Verifying Checksum
a229c8bfbb45: Download complete
fbec070f0389: Verifying Checksum
fbec070f0389: Download complete
c5842bccb0c6: Verifying Checksum
c5842bccb0c6: Download complete
697315adfce9: Verifying Checksum
697315adfce9: Download complete
ba4b29471029: Verifying Checksum
ba4b29471029: Download complete
9fe77f388d9b: Verifying Checksum
9fe77f388d9b: Download complete
9fe77f388d9b: Pull complete
a229c8bfbb45: Pull complete
5900e8be836c: Pull complete
c5842bccb0c6: Pull complete
fbec070f0389: Pull complete
ecae3d2ce50e: Verifying Checksum
ecae3d2ce50e: Download complete
ecae3d2ce50e: Pull complete
697315adfce9: Pull complete
ba4b29471029: Pull complete
Digest: sha256:bb2428448b9bbc46171905a7a3e8dbdb696a5583e8ba10307f15be4fea8483e9
Status: Downloaded newer image for mcr.microsoft.com/dotnet/aspnet:6.0
 ---> 52ae8008aff2
Step 2/6 : WORKDIR /app
 ---> Running in 4c20c1c8be01
Removing intermediate container 4c20c1c8be01
 ---> 07ba13dabace
Step 3/6 : EXPOSE 80
 ---> Running in 099fe03bf404
Removing intermediate container 099fe03bf404
 ---> 495abd558438
Step 4/6 : EXPOSE 443
 ---> Running in 5759d30dad58
Removing intermediate container 5759d30dad58
 ---> 88a53c466218
Step 5/6 : LABEL com.microsoft.created-by=visual-studio
 ---> Running in 80bd550cc68f
Removing intermediate container 80bd550cc68f
 ---> 0c6279c8e9c2
Step 6/6 : LABEL com.microsoft.visual-studio.project-name=TodoApi
 ---> Running in b42666359bcb
Removing intermediate container b42666359bcb
 ---> 06ed0fad1c4a
Successfully built 06ed0fad1c4a
Successfully tagged todoapi:dev
docker run -dt -v "C:\Users\Yiming\onecoremsvsmon\17.0.1222.0:C:\remote_debugger:ro" -v "C:\Users\Yiming\AppData\Roaming\Microsoft\UserSecrets:C:\Users\ContainerUser\AppData\Roaming\Microsoft\UserSecrets:ro" -v "C:\Users\Yiming\AppData\Roaming\ASP.NET\Https:C:\Users\ContainerUser\AppData\Roaming\ASP.NET\Https:ro" -v "C:\Users\Yiming\source\repos\TodoApi:C:\app" -v "C:\Users\Yiming\source\repos\TodoApi:c:\src" -v "C:\Users\Yiming\.nuget\packages\:c:\.nuget\fallbackpackages3" -v "C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages:c:\.nuget\fallbackpackages" -v "C:\Program Files (x86)\Microsoft\Xamarin\NuGet\:c:\.nuget\fallbackpackages2" -e "ASPNETCORE_LOGGING__CONSOLE__DISABLECOLORS=true" -e "ASPNETCORE_ENVIRONMENT=Development" -e "ASPNETCORE_URLS=https://+:443;http://+:80" -e "DOTNET_USE_POLLING_FILE_WATCHER=1" -e "NUGET_PACKAGES=c:\.nuget\fallbackpackages3" -e "NUGET_FALLBACK_PACKAGES=c:\.nuget\fallbackpackages;c:\.nuget\fallbackpackages2;c:\.nuget\fallbackpackages3" -P --name TodoApi --entrypoint C:\remote_debugger\x64\msvsmon.exe todoapi:dev /noauth /anyuser /silent /nostatus /noclrwarn /nosecuritywarn /nofirewallwarn /nowowwarn /fallbackloadremotemanagedpdbs /timeout:2147483646 /LogDebuggeeOutputToStdOut 
8054144de73f355eaacd6712bbdce137a5ea0ecee14456a4a3f25c10d2734b6d
已成功启动容器。
========== 已完成 ==========
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
#For more information, please see https://aka.ms/containercompat

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["TodoApi.csproj", "."]
RUN dotnet restore "./TodoApi.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "TodoApi.csproj" -c Release -o /app/build

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

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "TodoApi.dll"]
PS C:\WINDOWS\system32> docker  pull mcr.microsoft.com/windows/servercore/iis
Using default tag: latest
latest: Pulling from windows/servercore/iis
18ae6bebe21d: Pull complete
835e32b39436: Pull complete
257ed9d41b5e: Pull complete
ab1ac4494b0b: Pull complete
282b1b0294f1: Pull complete
Digest: sha256:21a28f28f7aa189897387dddd68c1a822180a3899ec1e6622c083cc8c03d1710
Status: Downloaded newer image for mcr.microsoft.com/windows/servercore/iis:latest
mcr.microsoft.com/windows/servercore/iis:latest
举报

相关推荐

0 条评论