在Mac上尝试使用Docker

请注意

这个内容过时了。
使用Docker for Mac更方便!(附加说明:2017/01)

总结

我将在Mac上尝试使用Docker。
因为我是第一次接触Docker,如果有错误的地方请指正,我将不胜感激。

我记录了在几乎没有使用过的全新状态下进行构建的前提条件。从安装到启动操作系统,再到启动容器和Apache,进行了操作确认的记录。

请查看相关的URL以了解概念等内容。

所需要的东西

    • Virtualbox

 

    • Xcode

 

    • Docker

 

    Homebrew

环境

    MacBook Pro Retina, 15-inch, Late 2013

操作步骤

安装XCode和Homebrew。

为了安装Homebrew(Mac的软件包管理工具),需要XCode。
参考页面。
按照步骤进行安装。

安装 Virtualbox。

使用Mac电脑运行VM(boot2docker)需要以下步骤:

1. 打开以下链接:https://www.virtualbox.org/wiki/Downloads
2. 从该链接下载适用于Mac的dmg文件。
3. 双击打开下载的dmg文件并安装显示的pkg文件。

安装 Docker

brew update  #パッケージのアップデート
brew tap homebrew/binary
brew install docker boot2docker #dockerコマンドと起動用のVMイメージを入れます。

结果

takaito$ docker -v
Docker version 1.3.1, build 4e9bbfa

下载4个ISO映像文件。

boot2docker init

效果/结果


Latest release for boot2docker/boot2docker is v1.3.1
Downloading boot2docker ISO image...
Success: downloaded https://github.com/boot2docker/boot2docker/releases/download/v1.3.1/boot2docker.iso
    to /Users/takaito/.boot2docker/boot2docker.iso
Generating public/private rsa key pair.
Your identification has been saved in /Users/takaito/.ssh/id_boot2docker.
Your public key has been saved in /Users/takaito/.ssh/id_boot2docker.pub.
The key fingerprint is:
.
.
.
.
.

似乎成功解决了问题。

启动Boot2Docker。

我会启动一个用于运行容器的虚拟机。

boot2docker up

确认

bmnm2827000371:~ takaito$ boot2docker status
running
スクリーンショット 2014-11-17 2.51.44.png

为了连接客户端,可以将其记录在.bash_profile中。

  1 export DOCKER_HOST=tcp://$(boot2docker ip 2>/dev/null):2375 #boot2dockeripコマンドの結果を設定。
  2 export DOCKER_CERT_PATH=/Users/takaito/.boot2docker/certs/boot2docker-vm
  3 export DOCKER_TLS_VERIFY=1                                       

试着下载图片文件。

似乎可以使用 “docker pull [图片名称]” 命令来下载镜像。

docker pull centos:latest
docker pull ubuntu:latest
docker pull centos:centos6

结果

bmnm2827000371:~ takaito$ docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos                   centos6             70441cac1ed5        12 days ago         215.8 MB
centos                   latest              ae0c2d0bdc10        12 days ago         224 MB
ubuntu                   latest              5506de2b643b        3 weeks ago         199.3 MB

尝试启动7个容器。

动了!

docker run -t -i centos /bin/bash
[root@e800b582c111 /]# 

给它起个名字并尝试启动(CentOS6)。

docker run -t -i -d --name centos6 centos:centos6 /bin/bash

docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
4aeafa796850        centos:centos6      "/bin/bash"         6 hours ago         Up 3 minutes                            centos6     

顺便提一下,当要重新连接已经启动的容器时

docker attach [コンテナID]

当你要关闭容器时

docker rm [コンテナID]

当删除全部容器时

docker ps -a -q | xargs docker rm

在容器中搭建Apache。

为了确认是否可以运行,我安装了Apache,并确保可以从Mac上访问。

连接至CentOS 6

docker attach 4aeafa796850

在CentOS 6上安装Apache。

yum update
yum install httpd
chkconfig httpd on
service httpd start

Apache已经运行起来了。

提交到新的容器。

保存下当前的镜像(CentOS 6)。(takaito/contos6-apache)

bmnm2827000371:~ takaito$ docker commit centos6 takaito/centos6-apache
c509635e752cc3fad69bc6727a7ca44876e4e3764492b010f290b88962d13ad6

结果

bmnm2827000371:~ takaito$ docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
takaito/centos6-apache   latest              c509635e752c        6 hours ago         283.8 MB
centos                   centos6             70441cac1ed5        12 days ago         215.8 MB
centos                   latest              ae0c2d0bdc10        12 days ago         224 MB
ubuntu                   latest              5506de2b643b        3 weeks ago         199.3 MB

你写了一个Takaito/CentOS6-Apache镜像,不过标签看起来有点奇怪。

使用Apache镜像在虚拟机上映射端口80并启动。

takaito$ docker run -t -i -d -p 80:80 --name centos6-up takaito/centos6-apache /sbin/init

从Mac电脑上确认

使用Mac查看Docker的启动IP地址

bmnm2827000371:~ takaito$ boot2docker ip

The VM's Host only interface IP address is: 192.168.59.103
スクリーンショット 2014-11-17 2.46.08.png

你看到了吧!

印象

太方便了。
我会在公司内部复制并部署多个应用程序,然后试验一下性能验证之类的事情。

相关网址

下面这些链接提供了关于在Mac上安装Docker的教程和指南:

http://qiita.com/_daisuke/items/d3b2477d15ed2611a058
http://dev.classmethod.jp/tool/docker/getting-started-docker-on-osx/
http://havelog.ayumusato.com/develop/server/e601-docker_on_mac.html
http://blog.co-mit.com/post/24/Mac%E3%81%ABDocker%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F

广告
将在 10 秒后关闭
bannerAds