歡迎來到Docker for Windows!
Docker是用於創建Docker應用程序的完整開發平台,Docker for Windows是在Windows系統上開始使用Docker的最佳方式。
如果你沒有安裝Docker for Windows,請閱讀這篇文章:Windows 10 安裝 Docker for Windows
檢查Docker Engine,Compose和Machine的版本
啟動您最喜愛的shell(cmd.exe,PowerShell或其他)來檢查docker和docker-compose的版本,並驗證安裝。
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
命令正常工作。
1.打開一個shell(cmd.exe,PowerShell或其他)。
2.運行一些Docker命令,例如docker ps
,docker version
和docker info
。
這是在powerhell中運行的docker ps
的輸出。 (在這個例子中,沒有容器正在運行。)
PS C:\Users\jdoe> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
以下是docker version
的命令輸出示例。
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 webserve
r重新啟動它。
要使用單個命令停止並刪除正在運行的容器,請鍵入: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