注意:部分文章发布时间较长,可能存在未知因素,购买时建议在本站搜索商家名称,先充分了解商家动态。
交流:唯一投稿邮箱:hostvps@88.com。
简介本文介绍了如何在VPS服务器上部署Docker,并提供了Docker常用操作及简单的镜像制作过程。表1 Docker相关术语术语解释DockerDocker是开发人员和系统管理员使用容器开发、部署和运行应用程序的平台。镜像Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。容器镜像(Image)和容器(Contianer)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。更多关于Docker、镜像、容器的基础知识,请参见Docker Documentation。该指导以“CentOS 7.5 64 3.10.0-862.9.1.el7.x86_64”操作系统为例,Docker要求64位的系统且内核版本至少为3.10。前提条件VPS服务器需要绑定公网IP。VPS服务器所在安全组添加了如下表所示的安全组规则。表2 安全组规则方向类型协议端口/范围远端入方向IPv4TCP800.0.0.0/0部署Docker登录VPS服务器。添加yum源。yum install epel-release -yyum clean all安装并运行Docker。yum install docker-io -ysystemctl enable dockersystemctl start docker检查安装结果。docker –version回显如下类似信息,表示Docker安装成功。Docker version 1.13.1, build 8633870/1.13.1Docker基本用法Docker进程管理。运行Dockersystemctl start docker停止Dockersystemctl stop docker重启Dockersystemctl restart docker镜像管理。拉取镜像。此处以Apache和CentOS官方镜像为例。docker pull httpddocker pull centos查看已有镜像docker images强制删除镜像docker rmi centos容器管理。创建一个容器并运行。docker run -it -d -p 80:80 –name datahttpd -v /data/:/var/www/httpd/ httpd参数说明如下:-i:以交互模式运行容器,通常与-t同时使用。-t:为容器重新分配一个伪输入终端,通常与-i同时使用。-d:后台运行容器,并返回容器ID。-p:端口映射,格式为“宿主机端口:容器端口”。–name:为容器指定一个名称。-v:把宿主机上的一个目录挂载到镜像里,格式为“宿主机目录:镜像内挂载的路径”,必须为绝对路径。说明:上述参数说明中的宿主机表示所创建的VPS云服务器实例。示例命令表示:使用镜像httpd,以交互模式启动一个容器,将容器的80端口映射到宿主机的80端口,宿主机的目录/data映射到容器的/var/www/httpd目录,并返回容器ID。查看容器启动情况。docker ps -a在浏览器输入弹性云服务器所绑定的弹性公网IP,访问测试容器运行情况。出现以下内容表示运行成功。镜像制作通过Dockerfile定制一个简单的Nginx镜像。创建一个名为Dockerfile的文件。mkdir mynginxcd mynginxtouch Dockerfile编辑Dockerfile。vim Dockerfile增加文件内容如下:FROM nginxRUN echo ‘<h1>Hello, Docker!</h1>’ > /usr/share/nginx/html/index.htmlDockerfile指令介绍如下。以下仅介绍简单指令,如需了解更多,请参见官方网站https://hub.docker.com/。FROM语句:表示使用nginx镜像作为基础镜像,一个Dockerfile中FROM是必备的指令,并且必须是第一条指令。RUN语句:格式为RUN <命令>,表示执行echo命令,在显示器中显示一段“Hello, Docker!”的文字。构建镜像。docker build -t nginx:v3 .-t nginx:v3:指定镜像的名称和版本。.:指定上下文路径,镜像构建命令将该路径下所有的内容打包给Docker引擎帮助构建镜像。查看部署的nginx镜像,版本为v3。docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx v3 09422e465d96 10 seconds ago 109 MB