在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
为了连接客户端,可以将其记录在.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
你看到了吧!
印象
太方便了。
我会在公司内部复制并部署多个应用程序,然后试验一下性能验证之类的事情。
相关网址
下面这些链接提供了关于在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