Mac OS上通过boot2docker安装使用Docker的教程
Docker  /  管理员 发布于 4年前   309
安装
boot2docker是将docker daemon运行在虚拟机中的,所以系统中必须要有虚拟机环境:VMware、virtualbox、parallels都可以,必须要有,且使用的工具包有所不同。
本人习惯于使用parallels desktop,机子上本来装着就有,所以优先选择parallels环境。
使用parallels环境可以不用安装boot2docker,直接安装docker-machine-parallels即可。
项目地址:https://github.com/Parallels/docker-machine-parallels
使用Homebrew先查看下都有哪些软件:
复制代码代码如下:
selflydeMacBook-Pro:~ liyd$ brew search docker
这里我们只需要安装两个软件包:docker和docker-machine-parallels,其中docker-machine会成为docker-machine-parallels的依赖而自动进行安装。
可以看到上面这三个软件包后面都有个勾,因为我本机已经安装过了。
复制代码代码如下:
selflydeMacBook-Pro:~ liyd$ brew install docker-machine-parallels
selflydeMacBook-Pro:~ liyd$ brew install docker
创建虚拟机
只需要一个命令,
复制代码代码如下:
selflydeMacBook-Pro:~ liyd$ docker-machine create --driver=parallels prl-dev
当然还有一些其它的参数,具体可以看项目主页上的说明。
第一次创建会比较慢,因为要下载boot2docker.iso。
如果提示下载失败,可以自行到github上去下载后,放到~/.docker/machine/cache目录下。
使用
创建虚拟机后,会提示你使用docker-machine env命令,然后再用eval命令:
复制代码代码如下:
selflydeMacBook-Pro:~ liyd$ docker-machine env prl-dev
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://10.211.55.11:2376"
export DOCKER_CERT_PATH="/Users/liyd/.docker/machine/machines/prl-dev"
export DOCKER_MACHINE_NAME="prl-dev"
# Run this command to configure your shell:
# eval $(docker-machine env prl-dev)
selflydeMacBook-Pro:~ liyd$ eval $(docker-machine env prl-dev)
至此,就可以像平常使用docker一样来自由发挥了!
容器端口跳转
最新版的boot2docker建立了一个仅有网络适配器的主机提供可以接入容器的端口。
如果你运行一个有公开端口的容器,
复制代码代码如下:
$ docker run --rm -i -t -p 80:80 nginx
然后你应该能用IP地址接入Nginx服务器:
复制代码代码如下:
$ boot2docker ip
通常,这个IP地址为192.168.59.103,但是也可能被VirtualBox启用的DHCP修改。
其他
如果你好奇的话,Boot2Docker的缺省用户名为docker,密码为tcuser。
Boot2Docker管理工具提供了很多命令:
复制代码代码如下:
$ ./boot2dockerUsage: ./boot2docker [<options>]{help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|delete|download|version} [<args>]
docker-machine还有一些其它非常有用的命令,可以自行在命令行查看:
active Print which machine is active
config Print the connection config for machine
create Create a machine
env Display the commands to set up the environment for the Docker client
inspect Inspect information about a machine
ip Get the IP address of a machine
kill Kill a machine
ls List machines
provision Re-provision existing machines
regenerate-certs Regenerate TLS Certificates for a machine
restart Restart a machine
rm Remove a machine
ssh Log into or run a command on a machine with SSH.
scp Copy files between machines
start Start a machine
status Get the status of a machine
stop Stop a machine
upgrade Upgrade a machine to the latest version of Docker
url Get the URL of a machine
version Show the Docker Machine version or a machine docker version
help Shows a list of commands or help for one command
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号