本文共 3803 字,大约阅读时间需要 12 分钟。
最新的版本使用官方的Docker Toolbox
进行安装,Docker Toolbox是用来支持在Mac和Windows平台使用Docker的集成套件;以套件的形式提供,极大地方便了用户获取整套Docker工具:
正如Docker Compose最终代替了Fig,Docker Machine在1.8中着力替代boot2docke 可以在 快速下载。
点击快速启动图标,会自动开启一个Terminal,然后触发Docker Machine并启动VirtualBox。
启动完毕后,在mac环境下执行 docker-machine ls 可以看到 Docker Daemon所处的虚拟主机信息。执行 docker-machine env default 可以查看相关环境变量。
Step 1:陈列machine
$ docker-machine lsNAME ACTIVE DRIVER STATE URL SWARM dev * virtualbox Running tcp://192.168.99.100:2376
Step 2:移除machine
$ docker-machine rm devSuccessfully removed dev
这将会自动在 virtualBox 中移除对应的镜像,并在 ~/.docker/machine/machines 中删除对应的文件。
Step 3:移除应用 在Mac上的 程序应用 中移除 Docker Quickstart Terminal 和 Kitematic。
Step 4:移除命令
rm /usr/local/bin/docker
这会移除 /usr/local/bin 文件夹中的 docker , docker-compose, 和 docker-machine 命令;
Step 5:移除 ~/.docker 文件夹。
有了工具,接下去你应该要准备学习docker了。怎么运行docker
命令呢?
官方费了那么大的劲儿整合成出Toolbox
,无非就是让用户用的爽,所以你点击应用Docker Quickstart Terminal
的图标,就能弹出一个命令行,在里面就可以天马行空地敲 Docker 命令了。
就在弹出的那一瞬间,这个应用为你做了两件事情: - 创建一个名为 default 的虚拟机(如果存在就不打开了) - 同时在这个 VM 中设置一些环境变量
都做了些什么呢?那就自己走一遍过场吧
作为一名自豪的 Mac 用户,你肯定想在 自己喜欢的shell上 敲命令完成上面图标为你做的事儿:
docker-machine create ## 创建一个虚拟机,这个命令只用一次,下次就可以省略了 docker-machine ls ## 会列出目前存在的虚拟机;还可以使用开启、关闭、查询虚拟机 docker-machine env default ## 获取创建VM所需要的环境命令 eval "$(docker-machine env default)" ## 现在使用这个命令,连接你的shell和docker client
表面上什么事情都没有发生,但实际上你可以在当前的shell里敲击docker
命令了。
虚拟机的配置放在
~/.docker/machine/machines/default
里面,
是该整个 hello-world 来证明自己涉足 docker 的世界了。
更多参考 。
首先,让我们通过下面的命令来检查Docker的安装是否正确:
docker run hello-world
倘若你的命令行里返回的语句不太友好,或许你该反省反省自己是否安装正确。
如果返回友好,那为何不进一步发展呢?
到这一步Docker里还没有镜像或是容器。所以,让我们通过命令来拉取一个预建的镜像:
docker pull busybox
BusyBox
是一个最小的Linux系统,它提供了主要的功能,不包含一些与GNU相关的功能和选项。
P.S 使用
docker search busybox
可以查找和busybox相关的镜像
下一步我们将运行一个Hello World
的例子,我们暂且叫它“Hello Docker”吧:
docker run busybox /bin/echo Hello Docker
现在,让我们以 后台进程 的方式运行hello docker:
sample_job=$(docker run -d busybox /bin/sh -c "while true;do echo Docker;sleep 1;done")
sample_job
命令会隔一秒打印一次Docker,使用Docker logs
可以查看输
docker logs $sample_job
如果没有起名字,那这个job会被分配一个id,以后使用命令例如Docker logs查看日志会变得比较麻烦。
名为sample_job的容器,可以使用以下命令来停止:
docker stop $sample_job
使用以下命令重新启动该容器:
docker restart $sample_job
如果要完全移除容器,需要将该容器停止,然后才能移除。像这样:
docker stop $sample_job docker rm $sample_job
将容器的状态保存为镜像,使用命令:
docker commit $sample_job job1
P.S. 镜像名称只能取字符[a-z]和数字[0-9]。
现在,你就可以使用以下命令查看所有镜像的列表:
docker images
在我们之前的Docker教程中,我们学习过镜像是存储在Docker registry
。在registry中的镜像可以使用以下命令查找到:
docker search (image-name)
查看镜像的历史版本可以执行以下命令:
docker history (image-name)
最后,使用以下命令将镜像推送到registry:
docker push (image-name)
你必须要知道库名字是不是根库,它应该使用此格式(user)/(repo_name)。
这都是一些非常基本的Docker命令。在后续的文章,我们将讨论一些进阶的Docker命令。
所有Docker命令可以用以下命令查看:
docker help
这一节到此结束,下一节会从官方挪用一个有关nginx服务的示例。
阿里云同步了部分Docker官方镜像库到国内服务器,目前支持的镜像参见帮助文档。通过给docker-machine create
命令指定如下参数,即可在创建机器时从阿里云下载镜像。
--engine-insecure-registry registry.mirrors.aliyuncs.com
提供了提升从国内访问Docker官方镜像速度的加速器。
进入开发者平台控制台,找到“Docker服务”列表下的“加速器”,根据不同的操作系统,参照“加速器”页面的“操作手册”配置加速器地址。
对于Mac系统,假设通过docker-machine
创建的机器名为default
,则通过如下命令设置启动后Docker Engine
访问的镜像地址:
docker-machine ssh default "echo 'EXTRA_ARGS=\"--registry-mirror=https://\"' | sudo tee -a /var/lib/boot2docker/profile" docker-machine restart default
注:对于使用docker-machine在阿里云上创建ECS的用户,可以在创建时直接传入下述参数使用加速器:
--engine-opt registry-mirror=https://.mirror.aliyuncs.com
开发者平台还提供了镜像服务和镜像仓库供用户玩转Docker。设置完成后用户就可以开始创建自己的镜像仓库,仓库可以根据需要设置为公开或私有,且能够通过关联代码源在代码变更时自动构建镜像。
转载地址:http://aisno.baihongyu.com/