Docker 您所在的位置:网站首页 镜像安装方法有哪些 Docker

Docker

#Docker| 来源: 网络整理| 查看: 265

Dockerfile 一、相关概念Docker镜像Docker镜像的创建方法 二、Dockerfile常用命令解释三、创建apache镜像四、挂载数据卷

一、相关概念

在这里插入图片描述

Dockerfile中的每个指令都会创建一个新的镜像层(相当于一个临时容器)镜像层将被缓存和复用当Dockerfile的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效某一层的镜像缓存失效之后,它之后的镜像层缓存都会失效镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然会包含该文件

即:Dockerfile中的指令在执行时会创建一个新的容器,执行新的指令时会删除之前的容器同时再次创建一个新的容器

Docker镜像 应用发布的标准格式支撑一个Docker容器的运行 Docker镜像的创建方法 基于已有镜像创建基于本地模板创建基于Dockerfile(参数)创建 二、Dockerfile常用命令解释 指令含义FROM 镜像指定新镜像所要基于的基础镜像,第一条指令必须为FROM指令, 创建一个新镜像就需要一条FROM指令MAINTAINER 名字说明新镜像的维护人信息RUN 命令在所基于的镜像执行命令,并提交到新的镜像中EXPOSE 端口号指定新镜像加载到Docker时要开启的端口ENV 环境变量 变量值设置一个环境变量的值,会被后面的RUN使用ADD 源文件/目录 目标文件/目录将源文件复制到目标文件,源文件要与Dockerfile位于 相同目录中,或者是一个URLCMD [ “要运行的程序”,“参数1”,“参数2”]指令启动容器时要运行的命令或者脚本,Dockerfile只能 有一条CMD命令,如果指定多条则只能执行最后一条COPY 源文件/目录 目标文件/目录将本地主机上的文件/目录复制到目标地点,源文件/目录 要与Dockerfile在相同的目录中VOLUME [“目录”]在容器中创建一个挂载点USER 用户名/UID指定运行容器时的用户WORKDIR 路径为后续的RUN、CMD、ENTRYPOINT指定工作目录ONBUILD 命令指定所生成的镜像作为一个基础镜像时所要运行的命令HEALTHCHECK健康检查 三、创建apache镜像

①创建目录并编写Dockerfile文件

mkdir apache cd apache vim Dockerfile #基于的基础镜像 FROM centos:7 #维护镜像的用户信息 MAINTAINER wt #原镜像操作指令——安装apache软件 RUN yum -y update RUN yum -y install httpd #开启端口 EXPOSE 80 #复制网站首页文件到指定位置 ADD index.html /var/www/html/index.html #将执行脚本复制到容器中 ADD run.sh /run.sh RUN chmod 755 /run.sh #启动容器时运行脚本 CMD ["/run.sh"]

②编写执行脚本

vim run.sh #!/bin/bash rm -rf /run/httpd/* exec /usr/sbin/apachectl -D FOREGROUND

③准备网页文档

echo "this is the test web" > index.html

④生成镜像

docker build -t httpd:centos .

在生成镜像时可以重开一个终端,使用docker ps -a可以看到有容器在被创建和删除,这就是Dockerfile中的指令执行时创建的临时容器 在这里插入图片描述 在这里插入图片描述 ⑤新镜像运行容器

docker run -d -P httpd:centos #-P使用随机端口,也可以-p使用指定端口

在这里插入图片描述 ⑥验证 在这里插入图片描述

四、挂载数据卷

通过挂载数据卷的方法,可以在不进入容器的情况下编辑网页文档

#宿主机目录/root/apache挂载到容器中的/var/www/html docker run --name web -d -p 8080:80 -v /root/apache:/var/www/html httpd:centos #拖入图片并,编辑网页文档

在这里插入图片描述 验证 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有