使用boot2docker管理Docker
来源:互联网 发布:2017淘宝男装店铺排行 编辑:程序博客网 时间:2024/06/05 20:17
在Mac上使用Docker,需要使用boot2docker
建立docker运行的虚拟机宿主环境。安装boot2docker
可以简单的通过brew
进行安装。
brew install boot2docker
启动boot2docker
成功安装之后,使用以下方式启动docker
boot2docker init
以上命令只需要执行一次即可,它创建了Docker运行所需要的虚拟机环境。以后运行的时候,需要先开启docker虚拟机
boot2docker start
这样就启动了Docker的虚拟机环境,使用命令boot2docker shellinit
查看Docker客户端的环境变量
$ boot2docker shellinitWriting /Users/mylxsw/.boot2docker/certs/boot2docker-vm/ca.pemWriting /Users/mylxsw/.boot2docker/certs/boot2docker-vm/cert.pemWriting /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 statusrunning$ docker versionClient version: 1.3.2Client API version: 1.15Go version (client): go1.3.3Git commit (client): 39fa2faOS/Arch (client): darwin/amd64Server version: 1.6.2Server API version: 1.18Go version (server): go1.4.2Git 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 web443/tcp -> 0.0.0.0:3276980/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 0drwxr-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.html1 directory, 1 file$ cat site/index.htmlmy new site: aicode.cc
启动docker容器
$ docker run -d -P -v $HOME/Downloads/site:/usr/share/nginx/html --name mysite nginx3ec8c748b423b9ff30efaab6e4c88857c45831cca8a46e97950808635c2dd98d$ docker port mysite443/tcp -> 0.0.0.0:3277080/tcp -> 0.0.0.0:32771$ boot2docker ipThe 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官方文档
- 使用boot2docker管理Docker
- Docker的boot2docker.iso镜像使用
- Docker的boot2docker.iso镜像使用
- Docker 更新boot2docker.iso
- 在boot2docker上使用nsenter进行docker调试
- docker部署nodejs环境(boot2docker)
- boot2docker
- 在Windos 中安装 Docker--安装Boot2Docker
- Docker 更新boot2docker.iso for Mac
- 使用rancher管理docker
- Mac 上安装 Docker后启动boot2docker失败的问题
- Docker:Window上的Boot2Docker安装和入门
- Docker:Window上的Boot2Docker安装和入门
- Docker报错: Default Boot2Docker ISO is out-of-date
- 使用weave管理docker网络
- 使用 Fluentd 管理 Docker 日志
- 使用fluentd管理docker日志
- 使用nginx管理docker容器
- Python数据结构之二叉树(涵盖了构建、删除、查找、字典转换、非递归与递归遍历等)
- 微信支付生成二维码方法封装
- 获取时间日期函数整理(部分来源于网络)
- PAT 甲级 1132. Cut Integer (20)
- 初识大数据
- 使用boot2docker管理Docker
- SpringCloud之Ribbon+Rest调用负载均衡
- 对数组元素进行由大到小排列
- 事务方法里如何单独添加日志
- Python学习---13
- NOIP模拟(20171102)T3 回文子串
- Java对象流与序列化
- 数据结构
- C++ 11的继承构造函数