2-05 3,642 views
Docker(http://www.docker.com/)是一个开源的应用容器引擎。Docker可以将应用程序及其依赖打包成镜像(Image),并在同一个服务器中启动多个容器(Container)共享操作系统内核,分别独立运行镜像(Image)。
安装
在OS X中安装Docker(OS X版本需要满足10.8及以上)。从“https://www.docker.com/products/docker-toolbox”下载DockerToolbox-1.10.0.pkg并运行安装:
安装步骤中的配置均采用默认选项,安装成功后,应用程序会新增以下两项,分别是Docker命令行工具和GUI工具:
运行镜像
运行“Docker Quickstart Terminal”打开命令行窗口。第一次使用时,Docker会首先执行一些初始化操作。在命令行中,可以执行Docker命令,例如:
docker run hello-world
该命令会执行以下操作:
1)在本地查找有无镜像“hello-world”;
2)若本地没有镜像“hello-world”,则从Docker Hub下载镜像;
3)启动容器加载镜像“hello-world”并运行。
以下是命令执行截图:
Docker还提供了一个示例镜像“whalesay”,该镜像基于Ubuntu,打包了应用程序“cowsay”,执行以下Docker命令,启动容器加载镜像“whalesay”并运行程序“cowsay”,“boo”是程序传入参数:
docker run docker/whalesay cowsay boo
创建镜像
基于已有镜像,可以创建新的镜像,将应用程序及其依赖打包进新的镜像中。编写Dockerfile文件如下所示:
1 2 3 |
FROM docker/whalesay:latest RUN apt-get -y update && apt-get install -y fortunes CMD /usr/games/fortune -a | cowsay |
其中:
1)“FROM”语句说明基于镜像“whalesay”的最新版本创建新的镜像;
2)“RUN”语句说明在新镜像中安装应用程序”fortunes”;
3)“CMD”语句说明在启动容器加载镜像后执行“/usr/games/fortune -a | cowsay”,即通过程序“fortune”生成句子并通过管道传给程序“cowsay”展示。
在Dockerfile文件所在目录下执行以下Docker命令,根据Dockerfile文件创建新镜像“docker-whale”:
docker build -t docker-whale .
命令执行后,开始新镜像的创建过程,会依次输出各步信息:
创建镜像成功后,执行以下Docker命令,可以查看本地所有镜像:
docker images
其中已新增镜像“docker-whale”:
运行镜像“docker-whale”:
docker run docker-whale
推送镜像
镜像创建成功后,可以将镜像推送到Docker Hub。首先在Docker Hub创建账号并新建仓库“docker-whale”。执行以下Docker命令,将docker-whale重命名为“namespace/image”的格式,其中“namespace”是Docker Hub中的账号:
docker tag 8f35c689968c magicwt/docker-whale:lastes
docker login –username=magicwt –email=xxx@xxx.com
docker push magicwt/docker-whale
访问“https://hub.docker.com/r/magicwt/docker-whale/”,Docker Hub上已有push记录:
版权属于: 我爱我家
原文地址: http://magicwt.com/2016/02/05/docker%e7%ae%80%e4%bb%8b%e4%b8%8e%e5%ae%9e%e8%b7%b5/
转载时必须以链接形式注明原始出处及本声明。
🙂
🙂