在Mac OS上安装Docker

前两天在Mac上安装了Docker,现在将操作步骤记录如下。

2. 在下载页面中点击 Boot2Docker-1.8.0.pkg来下载Boot2Docker
3. 双击安装包来安装Boot2Docker
4. 访问 “应用程序”-->Boot2Docker

当你从你的“应用程序文件夹(Applications)” 来启动 "Boot2Docker" 程序, 程序会做如下事项:
  • 打开一个命令行控制台。
  • 创建 $HOME/.boot2docker 目录
  • 创建 VirtualBox ISO 虚拟机 和 证书 (ssh key)
  • 启动 VirtualBox 并运行 docker 进程
到这里就启动完毕了, 你可以运行  docker  命令。你可以运行  hello-word  容器来验证你是否安装成功。
$ docker run hello-world

或使用命令行来初始化和运行  boot2docker  ,有如下步骤:
1. 创建一个新的 Boot2Docker 虚拟机
$ boot2docker init
这会创建一个新的虚拟主机,你只需要运行一次这个命令就可以了,以后就不需要了。
2. 启动  boot2docker  虚拟机。
$ boot2docker start
3. 通过 docker 客户端来查看环境变量
$boot2docker shellinit
4. 使用shell命令来设置环境变量
$eval "$(boot2docker shellinit)"
5. 运行 hello-word容器来验证安装
$docker run hello-world

容器端口访问
1. 在 Docker 主机上启动一个 Nginx 容器。
$ docker run -d -P --name web nginx
一般来说, docker run  命令会启动一个容器,运行这个容器,然后退出。
-d  标识可以让容器在  docker run  命令完成之后继续在后台运行。 
-P  标识会将容器的端口暴露给主机,这样你就可以从你的 MAC 上访问它。

2. 使用  docker ps   命令来查看你运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
5fb65ff765e9 nginx:latest "nginx -g 'daemon of 3 minutes ago Up 3 minutes 0.0.0.0:49156->443/tcp, 0.0.0.0:49157->80/tcp web
通过这一点我们可以看出  nginx  作为一个进程运行。

3. 查看容器端口
$ docker port web  
443/tcp -> 0.0.0.0:49156 
80/tcp -> 0.0.0.0:49157
上边的显示告诉我们, web  容器将 80 端口映射到 Docker 主机的 49157 端口上。

4. 在浏览器输入地址  http://localhost:49157  (localhost 是 0.0.0.0):
没有正常工作。没有正常工作的原因是 `DOCKER_HOST` 主机的地址不是 localhost (0.0.0.0),但是你

可以使用 `boot2docker` 虚拟机的IP地址来访问。
1.获取  boot2docker  主机地址
$ boot2docker ip  
192.168.59.103

2. 在浏览器中输入  http://192.168.59.103:49157
成功运行!

1. 通过如下方法,停止并删除  nginx  容器。
$ docker stop web  
$ docker rm web

给容器挂载一个卷
当你启动  boot2docker  的时候,它会自动共享  /Users  目录给虚拟机。你可以利用这一点,将本地目录挂载到容器中。这个练习中我们将告诉你如何进行操作。
1. 回到你的 $HOME 目录
$ cd $HOME

2. 创建一个新目录,并命名为  site
$ mkdir site

3. 进入  site  目录。
$ cd site

4. 创建一个  index.html  文件。
$ echo "my new site" > index.html

5. 启动一个新的  nginx  容器,并将本地的  site  目录替换容器中的  html  文件夹。
$ docker run -d -P -v $HOME/site:/usr/share/nginx/html --name mysite nginx

6. 获取  mysite  容器端口
$ docker port mysite  
80/tcp -> 0.0.0.0:49166 
443/tcp -> 0.0.0.0:49165

7. 在浏览器中打开站点。

8. 现在尝试在  $HOME/site  中创建一个页面
$ echo "This is cool" > cool.html

9. 在浏览器中打开新创建的页面。

10. 停止并删除  mysite  容器。
$ docker stop mysite
$ docker rm mysite

猜你喜欢

转载自blog.csdn.net/enre_enre/article/details/53104441