资讯专栏INFORMATION COLUMN

使用boot2docker管理Docker

bluesky / 1256人阅读

摘要:在上使用,需要使用建立运行的虚拟机宿主环境。启动成功安装之后,使用以下方式启动以上命令只需要执行一次即可,它创建了运行所需要的虚拟机环境。访问即可要停止或者删除正在运行的容器,使用下列命令要关闭使用命令。

在Mac上使用Docker,需要使用boot2docker建立docker运行的虚拟机宿主环境。安装boot2docker可以简单的通过brew进行安装。

brew install boot2docker
启动boot2docker

成功安装之后,使用以下方式启动docker

boot2docker init

以上命令只需要执行一次即可,它创建了Docker运行所需要的虚拟机环境。以后运行的时候,需要先开启docker虚拟机

boot2docker start

这样就启动了Docker的虚拟机环境,使用命令boot2docker shellinit查看Docker客户端的环境变量

$ boot2docker shellinit
Writing /Users/mylxsw/.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/mylxsw/.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/mylxsw/.boot2docker/certs/boot2docker-vm/key.pem
    export DOCKER_HOST=tcp://192.168.59.103:2376
    export DOCKER_CERT_PATH=/Users/mylxsw/.boot2docker/certs/boot2docker-vm
    export DOCKER_TLS_VERIFY=1

你可以手动的执行输出的后面三条export命令设置环境变量,也可以使用下面的方法自动设置

$ eval "$(boot2docker shellinit)"

到此为止,boot2docker已经运行,并且docker的客户端环境已经建立,要验证是否成功,运行下面的命令

$ boot2docker status
running
$ docker version
Client version: 1.3.2
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): 39fa2fa
OS/Arch (client): darwin/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 7c8fca2

使用命令boot2docker ssh:

  

如果在执行docker命令的时候出现类似如下错误
dial unix /var/run/docker.sock: no such file or directory
是因为没有设置正确的环境变量导致的,执行命令 eval "$(boot2docker shellinit)" 重新设置环境变量即可。

基本操作

DOCKER_HOST上启动一个Nginx容器

$ docker run -d -P --name web nginx

上述命令中,docker run命令启动一个容器运行,然后退出,-d选项指定该容器docker run命令执行完成后在后台运行。-P选项将容器开放的端口暴露给宿主机,这样我们就可以访问它们了。

要查看当前运行了哪些容器,使用docker ps命令

查看容器开放了哪些端口,使用命令docker port

$ docker port web
443/tcp -> 0.0.0.0:32769
80/tcp -> 0.0.0.0:32768

接下来访问127.0.0.1:32768,应该就能看到Nginx的欢迎页面了。

  

在Mac下,使用boot2docker的时候,访问127.0.0.1是不行的,因为docker的宿主机是boot2docker的虚拟机,因此需要使用虚拟机的ip访问boot2docker ip获取ip后访问。


访问192.168.59.103:32768即可

要停止或者删除正在运行的容器,使用下列命令

$ docker stop web
$ docker rm web

要关闭boot2docker使用命令boot2docker stop

在Container中挂载卷

当启动boot2docker的时候,它会在虚拟机上自动共享Mac上的/Users目录,在Docker容器中,可以将该目录中的内容挂载到Docker容器中。

docker@boot2docker:~$ ll /Users/
total 0
drwxr-xr-x    1 docker   staff          374 Dec  4 08:42 Guest/
drwxrwxrwx    1 docker   staff          306 Apr 10 16:19 Shared/
drwxr-xr-x    1 docker   staff         2890 May 19 09:32 mylxsw/

在Mac的Downloads目录中建立site/index.hml文件,如下

$ pwd
/Users/mylxsw/Downloads
$ tree
.
└── site
    └── index.html

1 directory, 1 file
$ cat site/index.html
my new site: aicode.cc

启动docker容器

$ docker run -d -P -v $HOME/Downloads/site:/usr/share/nginx/html --name mysite nginx
3ec8c748b423b9ff30efaab6e4c88857c45831cca8a46e97950808635c2dd98d
$ docker port mysite
443/tcp -> 0.0.0.0:32770
80/tcp -> 0.0.0.0:32771
$ boot2docker ip
The VM"s Host only interface IP address is: 192.168.59.103

这里docker run-v参数指定了要挂载的卷,也可以使用--volume,格式为-v /host:/container

访问http://192.168.59.103:32771/可以看到输出index.html的内容

$ curl  http://192.168.59.103:32771/
my new site: aicode.cc

参考:

Docker官方文档

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26417.html

相关文章

  • Docker Swarm集群初探

    摘要:既然要组集群那就涉及诸如的资源调度管理等等一系列问题。目前涉及集群的三个主要的技术无外乎三种。从本文开始作者将会一一实践这几种主要的集群技术,话不多说,现在开始。完全运行于内存中,体积小,启动快。 showImg(https://segmentfault.com/img/remote/1460000015723680); 前言 相信Docker技术大家都有所了解,单个Docker能发...

    MingjunYang 评论0 收藏0
  • Docker学习之路(二)四种系统下安装Docker的方法

    摘要:如果查到的不是版的内核,可以用来升级然后更新启动加载器来加载新内核完成安装后,重启宿主机来启用新的内核重启之后,可以用确认是否运行了新版本内核。如果是较低版本的系统,需要先更新内核。然后重复上面的步骤即可。 本人的学习笔记,主要是对《我的第一本Docker书》、《Docker —— 从入门到实践》的学习记录,并结合其他各种资源的学习。这次记录了4种常见系统的Docker安装方法,这些系...

    BetaRabbit 评论0 收藏0
  • Rancher 开源私有云(Docker 容器部署及管理平台)快速体验

    摘要:老徐是一个开源的企业级全栈化容器部署及管理平台。为容器提供一揽子基础架构服务兼容的网络服务存储服务主机管理负载均衡防护墙让上述服务跨越公有云私有云虚拟机物理机环境运行,真正实现一键式应用部署和管理。已有超过万次下载,生产环境的应用。 showImg(https://segmentfault.com/img/remote/1460000013588742?w=40&h=40);老徐Su...

    CoffeX 评论0 收藏0
  • Docker实战之Quick Start

    摘要:如果使用操作系统自带包安装,目前安装的版本是比较旧的。之前版本如果是较低版本的系统,需要先更新内核。然后重复上面的步骤即可。 Quick Start Installation Ubuntu 通过系统自带包安装 Ubuntu 14.04 版本系统中已经自带了 Docker 包,可以直接安装。 $ sudo apt-get update $ sudo apt-get install -y ...

    alaege 评论0 收藏0
  • 容器化开发环境 - Dockerize

    摘要:为了不让别人痛苦,更不想让自己痛苦,请容器化开发环境吧,让我们享受一键部署开发环境的痛快吧。接下的例子依赖的环境和,请移步自行安装。 有没有过项目之间各种Java版本开发环境切换的场景;有没有过github上clone回来的代码库,由于各种开发环境依赖无法运行的问题;有没有过进入一个新项目时各种配开发环境到深夜的经历...Come On!为什么会这样,一切都是开发环境问题。为了不让别人...

    cnsworder 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<