Docker for Windows 使用入门
欢迎来到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 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
Docker for Windows 使用入门的更多相关文章
- .net core 2.x - docker(for windows)-linux配置及项目+SqlServer发布
将.net core2.x+sqlserver项目发布到docker.呵呵,操作很自如,如下. 1.罗嗦几句 在跑起来之前浪费了不少时间和精力,起初是将docker for windows的环境转换成 ...
- Docker Compose安装以及入门
Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用. Compose 简介 Compose 项目是 Docker 官方的开源 ...
- docker学习笔记:简单构建Dockerfile【Docker for Windows】
参考与入门推荐:https://www.cnblogs.com/ECJTUACM-873284962/p/9789130.html#autoid-0-0-9 最近学习docker,写一个简单构建Doc ...
- Docker 系列之 基础入门
安装 Docker Windows 10 专业版以上版本 Docker for Windows Installer 在安装前,需要确保目标机器已经开启了硬件虚拟化和 HyperV :在安装的过程中建议 ...
- Docker for Windows使用简介
在上一篇文章中,通过演练指导的方式,介绍了在Docker中运行ASP.NET Core Web API应用程序的过程.本文将介绍Docker for Windows的使用. 先决条件 前两周时间,Do ...
- 关于docker在windows环境下运行的第一次体验
关于docker在windows环境下执行的原理 1.1. 首先是Docker Quickstart启动,如果在虚拟机Oracle VM VirtualBox不存在default虚 ...
- 初识Docker和Windows Server容器
概览 伴随着Windows Server 2016 Technical Preview 3 (TP3)版本的发布,微软首次提供了Windows平台下地原生容器.它集成了Docker对Windows S ...
- Windows编程入门程序详解
引用:http://blog.csdn.net/jarvischu/article/details/8115390 1. 程序 /******************************* ...
- 解决 docker on windows下网络不通
问题:公司有一台闭置的windows服务器,于是想利用起来,但是在启动容器后始终无法通信成功. 研究: 1. 发现安装包中包含virtualbox, 于是怀疑windows下的docker是在virt ...
随机推荐
- python密码错误三次锁定
程序需求: 输入用户名,密码 认证成功显示欢迎信息 输入错误三次后锁定用户 流程图: 好像画的不咋地 #!/usr/bin/env python # _*_ coding:utf-8 _*_ # Fi ...
- AsciidocFX编辑器小贴士
I. AsciidocFX支持UML生成: 要生成UML,记得要下载GRAPHVIZ,并配置GRAPHVIZ_DOT环境变量,路径是Graphviz\bin\dot.exe. II. Asciidoc ...
- 解决弹出蒙层滑动穿透问题-vue
最近开发过程中遇到一些小问题(似乎问题总是那么多),但一直没什么时间去优化与解决.程序员不能被业务绑架,有时间还是花点在代码上
- web-故道白云&Clound的错误
web-故道白云 题目: 解题思路: 0x01 首先看到题目说html里有秘密,就看了下源代码如图, 重点在红圈那里,表示输入的变量是id,当然上一行的method="get"同时 ...
- 使用vue2.x+webpack+vuex+sass+axios+elementUI等快速搭建前端项目框架
一.本文将分享如何快速搭起基于webpack+vue的前端项目框架,利用vue的自己的脚手架工具vue-cli搭建起基本的环境配置,再通过npm包管理工具引入相应的依赖来完善项目的各种依赖框架.下面是 ...
- HTML页面加载异常,按F12调试后居然又好了的解决办法!
原因: 你的代码中获取数据那一段应该是有console控制台调用的代码,一般应该是console.log之类的,就是因为这句话在没开F12的时候,console是个undefined的东西就卡在那啦. ...
- Nvidia TX2 Robot 环境配置记录
p.p1 { margin: 0.0px 0.0px 2.0px 0.0px; font: 14.0px "Helvetica Neue"; color: #454545 } p. ...
- asp.net core 实现一个简单的仓储
一直有自己写个框架的想法,但是一直没有行动起来,最近比较闲,正好可以开工了. 现在已经完成了两部分.1.一个简单仓储,实现使用的是ef 2.IOC部分,这里是把内置的ioc替换成了aotofac,这部 ...
- thinkphp做搜索功能
一般后台都需要做一些搜索功能,直接上图. 至于前端页面大家自己设计.
- Android7.0 PowerManagerService 之亮灭屏(一)
本篇从按下power按键后,按键事件从InputManagerService 传到PhoneWindowManager.java开始分析power 按键做屏幕亮灭过程的分析,关于power 按键的其他 ...