对Docker的一点理解

来源:互联网 发布:淘宝店铺特色装修 编辑:程序博客网 时间:2024/05/22 10:39

用虚拟机(VMWare或者Virtual Box等),可用将系统备份,将所有的开发、运行环境等完全做好,备份,然后可迅速用到其他的机器上。Docker,类似的思想。[本人刚接触学习Docker,以下内容如若有错误,还望帮忙指出错误一边修正]
1. 安装Docker
注意安装Docker的先决条件:64位cpu、Linux内核等
2. 使用docker run命令创建Docker容器

sudo docker run -i -t ubuntu /bin/bash

上述代码使用的是ubuntu镜像,Docker将基于Ubuntu镜像来创建容器。ubuntu镜像是一个常备镜像(基础镜像),它由Docker公司提供,保存在Docker Hub Repositories上。可以以ubuntu基础镜像为基础,在选择的操作系统上构建自己的镜像。
Docker会检查本地是否存在ubuntu镜像,如果本地还没有该镜像的话,那么Docker就会连接官方维护的Docker Hub Registry,查看Docker Hub中是否有该镜像。Docker一旦找到该镜像,就会下载该镜像并将其保存到本地宿主机中。随后,Docker在文件系统内部用这个镜像创建了一个新容器。该容器拥有自己的网络、IP地址,以及一个用来和宿主机进行通信的桥接网络接口。最后,我们告诉Docker在新容器中要运行/bin/bash命令,此命令运行之后,将启动一个Bash Shell,然后就会看到容器内的shell了。
3. 容器使用
上述创建的容器,类似一个新的机器,此机器中的环境是完全干净的,可以安装各种软件,如java EE的运行环境(java, tomcat, mysql)等。注意这里,由于环境太干净了,连基本的vim也是没有的。首先apt-get update之后,再来装软件。
4. 镜像保存为文件
经过第三步骤,应用所需的基本环境搭建完毕之后,可以将镜像保存为文件(docker save )。这一步骤,还可以将镜像push到Docker Hub仓库中,以后也可以使用。
5. 从文件载入镜像
假设想在另外的主机上面运行应用,可以将第四步中的文件,载入为镜像(docker load)。使用 docker images命令,检查刚刚加载的镜像是否可用。
6. 使用镜像

docker run -d -p 你的端口号:容器内的端口号 --name 镜像名称 镜像中可执行命令

-d:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。-p:表示宿主机与容器的端口映射。
假设Docker中部署的是java web应用,那么“你的端口号”就是准备对外发布可用于访问的端口号,
镜像中可执行命令:可将要执行的命令,置于一个shell程序中,然后就会自动执行此shell,如启动tomcat。例如docker run -d -p 18080:8080 –name javaweb ubuntu:12.10 /root/run.sh



遇到的问题:
有时候下载的速度太慢了,可以修改Ubuntu的apt-get源为国内较快的源。
使用wget下载文件时候,如下载JDK等较大文件,下载完毕之后注意查看文件大小,下载可能是失败错误的。



备注:借助Docker与Jenkins来构建持续集成、部署环境,可避免重复劳动,从而提高效率。



参考资料
《第一本Docker书(修订版)》

0 0
原创粉丝点击