Windows上安装Docker

简介: How to compile Docker on Windows After taking on my new role at the Azure Linux Team, my first assignment was to get the Docker command line interface working on Windows. This is an im

How to compile Docker on Windows

After taking on my new role at the Azure Linux Team, my first assignment was to get the Docker command line interface working on Windows. This is an important piece in bringing Docker into the Windows ecosystem and part of our partnership with Docker.

Today, I am proud to announce that the first piece of Windows code is now merged into Docker, which means you can now compile the Docker client on Windows!

Before going any further, I would like to clarify several things:

Clarifications

  • At this point, the merged code is only the first step in getting it compiling and (barely) working on Windows. We have a set of known bugs (see PR description), which we are looking forward to fix and I am pretty sure there are more bugs beyond that. Making something designed for UNIX work on Windows seamlessly is not a trivial task. In the upcoming days, I will be focusing on resolving those bugs. We are also looking forward to seeing your contributions to make Docker’s Windows support better.

  • Also, please note that this tutorial is not about running the Docker daemon on Windows or running Windows containers on Docker. None of these are possible today. This is just about getting client code compiled on Windows.

  • I will not be talking about how the porting work was done, that will be topic of another blog post here on my blog, again. Stay tuned for that one!

  • Please note that the docker.exe you are about to build is not a supported distribution by Microsoft or Docker. Please use it at your own risk. A more stable version of the Docker Windows CLI will be shipped later.

Step 1: Install Go

Download the Go MSI Installer from golang.org. This installation will add the go program to your PATH environment variable and you should be able to run the go command in cmd.exe. If that does not work, you may need a restart.

Step 2: Check out the code

Assuming you have Git installed on your system, you need to clone thedocker/docker repository locally:

git clone https://github.com/docker/docker.git c:\gopath\src\github.com\docker\docker

Step 3: Compile!

The rest is just as simple. Run cmd.exe and run the following commands in order:

set GOPATH=c:\gopath;c:\gopath\src\github.com\docker\docker\vendor
set DOCKER_CLIENTONLY=1
cd c:\gopath\src\github.com\docker\docker\docker
go build -v

If all goes well, you will end up with a lovely docker.exe on the directory you are at! 

(If you happen to run in problems about emulating TTY (linux terminal) in cmd.exe, you need to use ConEmu or install ANSICON. Please see the pull request description for detailed info.)

Summary

This is just an intro to building the Docker CLI for Windows. Normally, these binaries are built in a Linux environment, inside a Docker container (yes, Go is crazy like that, it can cross compile Windows binaries on Linux)! However, for demonstration purposes we are detailing the procedure for building these Windows binaries on its own turf.

In the meantime, you can use this tutorial to build Docker on your Windows machine to test the changes. We are looking forward to your contributions on making the Docker’s Windows support even better!

If you happen to find a bug, please open an issue on [Docker repo] and mention me cc: @ahmetalpbalkan in the description.

I would like to acknowledge help of the Docker developer community on getting this work reviewed and merged to Docker. We are looking forward to make it more stable and shippable soon!

There is some Windows code now living in Docker! 

(This article has appeared on Azure BlogDocker WeeklyInfoQThe Register.)

If you like to watch a step-by-step video of this tutorial, there’s one in German by Joern Boeger here.

目录
相关文章
|
17天前
|
安全 Windows
安装MyEclipse遇到错误提示 Failed to find a Main Class in “C:Windows\Temp\“时的解决方案
安装MyEclipse遇到错误提示 Failed to find a Main Class in “C:Windows\Temp\“时的解决方案
22 1
|
7天前
|
时序数据库 Docker 容器
Docker安装InfluxDB
Docker安装InfluxDB
10 0
|
7天前
|
关系型数据库 MySQL 数据库
Docker安装MySQL
Docker安装MySQL
14 1
|
10天前
|
关系型数据库 MySQL 数据库
docker自定义安装mysql 5.7
docker自定义安装mysql 5.7
19 0
|
10天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
19 0
|
13天前
|
Ubuntu 网络安全 数据安全/隐私保护
ubuntu篇-配置FTP服务,本机和docker安装
通过以上步骤,你可以在Ubuntu上配置FTP服务,无论是本机安装还是Docker内安装,都可以提供FTP文件传输服务。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
20 1
|
21天前
|
Linux Shell 开发工具
CentOS8中Docker安装及部署
CentOS8中Docker安装及部署
67 0
|
21天前
|
数据安全/隐私保护 Docker 容器
AWVS13破解docker一键安装
AWVS13破解docker一键安装
30 0
|
22天前
|
NoSQL 关系型数据库 MySQL
安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
99 1
|
22天前
|
弹性计算 Serverless 数据库
ECS安装问题之docker安装如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集: