Docker for Windows 使用入門

歡迎來到Docker for Windows!html

Docker是用於建立Docker應用程序的完整開發平臺,Docker for Windows是在Windows系統上開始使用Docker的最佳方式。linux

若是你沒有安裝Docker for Windows,請閱讀這篇文章:Windows 10 安裝 Docker for Windowsnginx

檢查Docker Engine,Compose和Machine的版本

啓動您最喜好的shell(cmd.exe,PowerShell或其餘)來檢查docker和docker-compose的版本,並驗證安裝。web

PS C:\Users\Docker> docker --version
Docker version 17.03.0-ce, build 60ccb22

PS C:\Users\Docker> docker-compose --version
docker-compose version 1.11.2, build dfed245

PS C:\Users\Docker> docker-machine --version
docker-machine version 0.10.0, build 76ed2a6

瀏覽應用程序並運行示例

接下來的幾個步驟將經過一些例子。 這些只是建議您在系統上測試Docker的方法,檢查版本信息,並確保docker命令正常工做。docker

1.打開一個shell(cmd.exe,PowerShell或其餘)。shell

2.運行一些Docker命令,例如docker psdocker versiondocker infojson

這是在powerhell中運行的docker ps的輸出。 (在這個例子中,沒有容器正在運行。)ubuntu

PS C:\Users\jdoe> docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

如下是docker version的命令輸出示例。windows

PS C:\Users\Docker> docker version
Client:
Version:      17.03.0-ce
API version:  1.26
Go version:   go1.7.5
Git commit:   60ccb22
Built:        Thu Feb 23 10:40:59 2017
OS/Arch:      windows/amd64

Server:
Version:      17.03.0-ce
API version:  1.26 (minimum version 1.12)
Go version:   go1.7.5
Git commit:   3a232c8
Built:        Tue Feb 28 07:52:04 2017
OS/Arch:      linux/amd64
Experimental: true

如下是docker info的命令輸出示例。瀏覽器

PS C:\Users\Docker> docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 17.03.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host ipvlan macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 977c511eda0925a723debdc94d09459af49d082a
runc version: a01dafd48bc1c7cc12bdb01206f9fea7dd6feb70
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.12-moby
Operating System: Alpine Linux v3.5
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.934 GiB
Name: moby
ID: BM4O:645U:LUS6:OGMD:O6WH:JINS:K7VF:OVDZ:7NE4:ZVJT:PSMQ:5UA6
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 13
 Goroutines: 21
 System Time: 2017-03-02T16:59:13.417299Z
 EventsListeners: 0
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

上面的輸出是例子。 您的輸出,例如docker版本和docker信息,將取決於您的產品版本(例如,在安裝較新版本時)。

3.運行docker run hello-world來測試從Docker Hub拉一個圖像並啓動一個容器。

PS C:\Users\jdoe> docker run hello-world

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

4.嘗試更有意義的東西,並使用此命令運行Ubuntu容器。

PS C:\Users\jdoe> docker run -it ubuntu bash

這將下載ubuntu容器image並啓動它。 如下是在powerhell中運行此命令的輸出。

PS C:\Users\jdoe> docker run -it ubuntu bash

Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
5a132a7e7af1: Pull complete
fd2731e4c50c: Pull complete
28a2f68d1120: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:4e85ebe01d056b43955250bbac22bdb8734271122e3c78d21e55ee235fc6802d
Status: Downloaded newer image for ubuntu:latest

輸入exit以中止容器並關閉powerhell。

5.使用此命令啓動Dockerized Web服務器:

PS C:\Users\jdoe> docker run -d -p 80:80 --name webserver nginx

這將下載nginx容器image並啓動它。 如下是在powerhell中運行此命令的輸出。

PS C:\Users\jdoe> docker run -d -p 80:80 --name webserver nginx

Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx

fdd5d7827f33: Pull complete
a3ed95caeb02: Pull complete
716f7a5f3082: Pull complete
7b10f03a0309: Pull complete
Digest: sha256:f6a001272d5d324c4c9f3f183e1b69e9e0ff12debeb7a092730d638c33e0de3e
Status: Downloaded newer image for nginx:latest
dfe13c68b3b86f01951af617df02be4897184cbf7a8b4d5caf1c3c5bd3fc267f

6.將您的Web瀏覽器指向http:// localhost 以顯示起始頁面。

(因爲您指定了默認HTTP端口,所以無需在URL的末尾追加:80)。

7.運行docker ps時,您的網絡服務器正在運行,以查看容器上的詳細信息。

PS C:\Users\jdoe> docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS
NAMES
dfe13c68b3b8        nginx               "nginx -g 'daemon off"   3 days ago          Up 45 seconds       0.0.0.0:80->80/tcp, 443/tc
p   webserver

8.中止或移除容器和鏡像。

nginx網絡服務器將繼續在該端口上的容器中運行,直到您中止和/或刪除該容器。 若是要中止Web服務器,請鍵入:docker stop webserver,並使用docker start webserver從新啓動它。

要使用單個命令中止並刪除正在運行的容器,請鍵入:docker rm -f webserver。 這將刪除容器,而不是nginx鏡像。 您能夠列出本地鏡像與docker鏡像。 您可能想要保留一些鏡像,以便您沒必要再從Docker Hub再次拉出。 要刪除再也不須要的鏡像,請使用docker rmi,後跟鏡像ID或鏡像名稱。 例如,docker rmi nginx

PowerShell設置 tab completion

若是您但願爲Docker命令提供方便的tab completion,能夠按以下方式安裝posh-docker PowerShell模塊。

先決條件說明:
根據您的設置,您可能須要NuGet軟件包管理器,以便您能夠得到安裝的提示。
確保您具備以管理員權限運行PowerShell的權限。

1.啓動 PowerShell(以管理員身份運行)。

爲此,請搜索PowerShell,右鍵單擊,而後選擇以管理員身份運行。

當系統詢問您是否容許此應用更改您的設備時,單擊是。

2.設置腳本執行策略,容許由受信任的發佈者簽名的下載腳本在您的計算機上運行。 爲此,請在PowerShell提示符下鍵入。

Set-ExecutionPolicy RemoteSigned

要檢查策略設置是否正確,請運行get-executionpolicy,這將返回RemoteSigned。

3.要安裝posh-docker PowerShell模塊以自動完成Docker命令,請鍵入:

Install-Module posh-docker

或者,僅爲當前用戶安裝模塊,請鍵入:

Install-Module -Scope CurrentUser posh-docker

原文:

https://docs.docker.com/docker-for-windows/#set-up-tab-completion-in-powershell

相關文章
相關標籤/搜索