103 views

Docker数据管理与网络通信

By | 2019年2月24日

一、Docker镜像的创建:

1、基于现有镜像进行创建
docker commit -m “shuoming” -a “zuozhe” 容器ID docker:apache
-m:说明信息
-a:作者信息
-p:生成过程中停止容器的运行

2、基于本地模板创建
从对应的网站下载centos模板,并上传到本地服务器

3、基于Dockerfile创建
除开手动生成Docker镜像之外,还可以用Dockerfile自动生成镜像。Dockerfile是由一组指令组成的文件,每条指令对应Linux系统的一条,Docker程序将读取Dockerfile中的指令生成指定镜像。

Dockerfile结构一般分为四个部分:基础镜像信息、维护者信息、镜像操作指令与容器启动时执行指令。Dockerfile每行支持一条指令,每条指令可携带多个参数,支持使用以“#”开头的注释。

(1)Dockerfile编写规则
在编写Dockerfile时,要遵循严格的格式:
1)第一行必须使用FROM指令指明所基于的镜像名称
2)之后使用MAINTAINER指令说明维护该镜像的用户信息
3)然后时镜像操作相关指令,如RUN指令,每运行一条指令,都会给基础镜像添加新的一层
4)最后使用CMD指令,来指定启动容器时需要运行的命令操作。

(2)Dockerfile操作指令
FROM 镜像:指定新镜像所基于的镜像,第一条指令必须为FROM指令,每创建一个镜像就需要一条FROM指令
MAINTAINER 名字:说明新镜像的维护人信息
RUN 命令:在所基于的镜像上执行命令,并提交到新的镜像中
CMD[“要运行的程序”,”参数1″,”参数2″]:指定启动容器时要运行的命令或者脚本,Dockerfile只能有一条CMD命令,如果指多条则只有最后一条被执行

EXPOSE 端口号:指定新镜像加载到Docker时要开启的端口
ENV 环境变量 变量值:设置一个环境变量的值,会被后面的RUN使用
ADD 源文件/目录 目标文件/目录:将源文件复制到目标文件,源文件要与Dockerfile位于相同目录中,或者是一个URL
COPY 源文件/目录 目标文件/目录:将本地主机上的源文件/目录复制到目标地址点,源文件/目录要与Dockerfile在相同的目录中
VOLUME[“目录”]:在容器中创建一个挂载点
USER 用户名/UID:指定运行容器时的用户
WORKDIR 路径:为后续的RUN、CMD、ENTRYPOINT指定工作目录
ONBUILD 命令:指定所生成的镜像作为一个基础镜像时所要运行的命令

3)docker案例展示

mkdir apache //建工作目录
cd apache
vi Dockerfile //编写dockerfile
添加以下内容(#为注释)
#基于的基础镜像为centos
FROM centos
#维护该镜像的用户信息
MAINTAINER The Centos Project<cloud-ops@centos.org>
#镜像操作指令安装apache软件包
#RUN yum -y update
RUN yum -y install httpd
#开启80端口
EXPOSE 80
#复制网站首页文件
ADD index.html /var/www/html/index.html
#将执行脚本复制到镜像中
ADD run.sh /run.sh
RUN chmod 755 /run.sh
#启动容器时执行脚本
CMD [“/run.sh”]

vi run.sh //编写apache启动脚本
添加以下内容
rm -rf /run/httpd/* //清理httpd的缓存
exec /usr/sbin/apachectl -D FOREGROUND //启动apache服务

本文转载于:http://win-man.com 作者:网站高防技术员
本文关键词:免备案CDN    网站加速    图片加速   网站高防

发表评论

电子邮件地址不会被公开。 必填项已用*标注