Docker 1.6 于昨天发布 。 关键亮点是:
- 容器和图像标签允许将用户定义的元数据附加到容器和图像( 博客文章 )
- Docker Windows客户端 ( 博客文章 )
- 日志驱动程序允许您将容器日志发送到其他系统,例如Syslog或第三方。 这是
docker run
的新选项--log-driver
,具有三个选项:json-file
(默认设置,与旧功能相同),syslog
和none
。 ( 拉请求 ) - 内容可寻址图像标识符简化了补丁和更新的应用( docs )
- 使用
--cgroup-parent
自定义cgroup可以为这些cgroup定义自定义资源,并将容器放置在公共父组下( 拉取请求 ) - 使用
--default-ulimit
( 拉取请求 )为所有容器配置的ulimit设置 - 提交或更改时可以使用
commit --change
和来应用Dockerfile指令导入-更改`。 它允许指定要应用于新图像的标准更改( docs )
- 变更日志
此外,还发布了Registry 2.0 , Machine 0.2 , Swarm 0.2和Compose 1.2 。
该博客将展示如何开始使用Docker Machine 0.2.0。 随后的博客将展示如何使用Docker Swarm 0.2.0和Compose 1.2。
下载Docker客户端
Docker Machine只需一条命令即可将主机从零迁移到Docker。 该主机可以是您的笔记本电脑,云中或数据中心中的笔记本电脑。 它创建服务器,在其上安装Docker,然后配置Docker客户端与之对话。
它可以与其他驱动程序配合使用,例如Amazon,VMWare和Rackspace。 在本地笔记本电脑上最容易启动的是使用VirtualBox驱动程序。 下一部分将提供有关配置Docker Machine的更多详细信息。 但是为了使Docker命令在不使用SSH进入VirtualBox映像的情况下工作,我们需要安装Docker CLI。
让我们做吧!
Aruns-iMac:~ arungupta$ curl https://get.docker.com/builds/Darwin/x86_64/docker-latest > /usr/local/bin/docker
chmod +x /usr/local/bin/docker
如果单独安装了Boot2Docker,则VM中包含Docker CLI。 但是这种方法将允许您直接从本地计算机调用多个主机。
Docker机器0.2.0
了解有关Docker Machine以及如何开始使用0.1.0版本的更多详细信息 。 Docker 1.6发布了Docker Machine 0.2.0。 本节将讨论如何使用它并在Mac OS X上对其进行配置。
- 下载Docker Machine 0.2.0:
Aruns-iMac:~ arungupta$ curl -L https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_darwin-amd64 > /usr/local/bin/docker-machine % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 401 0 401 0 0 667 0 --:--:-- --:--:-- --:--:-- 668 100 11.3M 100 11.3M 0 0 1942k 0 0:00:05 0:00:05 --:--:-- 2686k Aruns-iMac:~ arungupta$ chmod +x /usr/local/bin/docker-machine
- 验证版本:
Aruns-iMac:~ arungupta$ docker-machine -v docker-machine version 0.2.0 (8b9eaf2)
- 下载并安装最新的VirtualBox 。
- 使用VirtualBox提供程序创建Docker主机:
Aruns-iMac:~ arungupta$ docker-machine create --driver virtualbox mydocker INFO[0000] Creating CA: /Users/arungupta/.docker/machine/certs/ca.pem INFO[0001] Creating client certificate: /Users/arungupta/.docker/machine/certs/cert.pem INFO[0003] Creating SSH key... INFO[0003] Image cache does not exist, creating it at /Users/arungupta/.docker/machine/cache... INFO[0003] No default boot2docker iso found locally, downloading the latest release... INFO[0003] Downloading latest boot2docker release to /Users/arungupta/.docker/machine/cache/boot2docker.iso... INFO[0014] Creating VirtualBox VM... INFO[0019] Starting VirtualBox VM... INFO[0019] Waiting for VM to start... INFO[0062] "mydocker" has been created and is now the active machine. INFO[0062] To point your Docker client at it, run this in your shell: eval "$(docker-machine env mydocker)"
- 通过在终端中输入以下命令来设置客户端:
Aruns-iMac:~ arungupta$ eval $(docker-machine env mydocker)
- 列出正在运行的Docker Machine实例:
Aruns-iMac:~ arungupta$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM mydocker * virtualbox Running tcp://192.168.99.100:2376
- 列出Docker映像和容器:
Aruns-iMac:~ arungupta$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE Aruns-iMac:~ arungupta$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES Aruns-iMac:~ arungupta$
请注意,没有现有的图像或容器。
- 使用arungupta / javaee7-hol image在WildFly上运行一个普通的Java EE 7应用程序:
Aruns-iMac:~ arungupta$ docker run -it -p 8080:8080 arungupta/javaee7-hol Unable to find image 'arungupta/javaee7-hol:latest' locally Pulling repository arungupta/javaee7-hol a068decaf892: Download complete 511136ea3c5a: Download complete 5b12ef8fd570: Download complete ae0c2d0bdc10: Download complete e490dfcb3685: Download complete f212cb9dbcf5: Download complete 28b11e6151f0: Download complete . . . 23:54:25,481 INFO [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017534: Registered web context: /movieplex7 23:54:25,513 INFO [org.jboss.as.server] (ServerService Thread Pool -- 31) JBAS018559: Deployed "movieplex7-1.0-SNAPSHOT.war" (runtime-name : "movieplex7-1.0-SNAPSHOT.war") 23:54:25,563 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management 23:54:25,563 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990 23:54:25,564 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.2.0.Final "Tweek" started in 8093ms - Started 400 of 452 services (104 services are lazy, passive or on-demand)
- 查找Docker主机的IP地址:
Aruns-iMac:~ arungupta$ docker-machine ip 192.168.99.100
- 访问位于http://192.168.99.100:8080/movieplex7/的应用程序,以查看输出:
- 再次列出图像:
Aruns-iMac:~ arungupta$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE arungupta/javaee7-hol latest a068decaf892 4 months ago 619.7 MB
和容器:
Aruns-iMac:~ arungupta$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 255a4d5b6f51 arungupta/javaee7-hol:latest "/opt/jboss/wildfly/ 2 seconds ago Up 1 seconds 0.0.0.0:8080->8080/tcp, 9990/tcp sick_elion
请享用!