歡迎來到Docker for Windows!html
Docker是用於建立Docker應用程序的完整開發平臺,Docker for Windows是在Windows系統上開始使用Docker的最佳方式。linux
若是你沒有安裝Docker for Windows,請閱讀這篇文章:Windows 10 安裝 Docker for Windowsnginx
啓動您最喜好的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 ps
,docker version
和docker info
。json
這是在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 webserve
r從新啓動它。
要使用單個命令中止並刪除正在運行的容器,請鍵入:docker rm -f webserver。 這將刪除容器,而不是nginx鏡像。 您能夠列出本地鏡像與docker鏡像。 您可能想要保留一些鏡像,以便您沒必要再從Docker Hub再次拉出。 要刪除再也不須要的鏡像,請使用docker rmi
,後跟鏡像ID或鏡像名稱。 例如,docker rmi nginx
。
若是您但願爲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