当前位置: 首页 > news >正文

手机端公司网站怎么做直通车官网

手机端公司网站怎么做,直通车官网,徐州做网站建设的公司,蒙特网公司做什么的Dockerfile:创建镜像,创建自定义的镜像 包括配置文件,挂载点,对外暴露的端口,设置环境变量 Docker的创建镜像方式: 1.基于已经镜像进行创建 根据官方号已提供的镜像源,创建镜像,然…

Dockerfile:创建镜像,创建自定义的镜像

包括配置文件,挂载点,对外暴露的端口,设置环境变量

Docker的创建镜像方式:

    1.基于已经镜像进行创建

根据官方号已提供的镜像源,创建镜像,然后拉起容器,是一个白板,只能提供基础的功能,扩展性的功能还是要自定义(进入容器操作)

     2.基于模版进行创建

模版网址https://download.openvz.org/template/precreated/

演示:乌班图

导入镜像

创建容器

 3.Dockerfile

联合文件系统(UnionFS),docker镜像的基础

镜像是通过分层来进行集成,特性,可以一次可以同时加载多个文件系统,但是从外面来看,也就是对用户来说,就是一个文件系统。

Docker镜像实际上就是由一层一层的文件系统组成,这种层级的文件系统就是unionFS

每一层都是layer,每一层都包含文件系统的一部分,这些层次叠加在一起,最终形成的就是rootfs

rootfs是什么呢:

看图:

Bootfs:宿主机提供的内核和引导程序

Roofs:就是容器的操作系统,在dockerfile中,我们可以自己指定

Rootfs是多个镜像和应用镜像结合起来的只读层,镜像实际上就是一个只读文件

容器基于镜像实例,运行起来之后,容器就变成可读可写层

在dockerfile当中,每创建一个指令,都是一个镜像层,镜像层会被缓存和复用

1-6

1-4失败

1-4将直接完成,继续运行5-6

一旦有一镜像失败,那么所有的镜像层都会失败,镜像也不会创建

镜像层是不可变的,你在某一层当中添加一个新的命令,但是下一层删除了指令,镜像中基于这个指令创建的文件依然存在,但是在容器中看不见

  1. touch 123
  2. Rf -rf 123

Dockerdile的核心:

用户个性化定制docker的镜像

Dockerfile的结构:

  1. 基础镜像信息
  2. 维护者信息
  3. 镜像的操作指令
  4. 容器启动时执行的命令  前段时间为什么nginx看不见日志: nginx定义好了容器的指令,/bin/bash,覆盖了容器内的标准输出

Dockerfile的语法:

(都是大写)

FROM:指定基础镜像信息,指定容器的操作系统

MAINTANER:指定维护者信息(可有可无)

RUN:在基础的镜像上执行命令,每个RUN就是一层,分层越多,镜像越大

ENTRYPOINT:设置容器运行时的默认命令(容器内部运行的主程序)

CMD:指定容器运行时的默认命令(docker run /bin/bash后面加了其他命令,cmd的指令将会被覆盖)

EXPOSE:暴露端口,(指定容器的运行端口)

ENV:设置容器的环境变量,环境变量可以被run命令使用(声明容器运行需要的环境变量)

ADD:复制,解压。解压是不支持.zip和.tar 只支持tar.gz 和tar.bz2,可以支持url地址解压和复制,主要作用就两字,解压

COPY:复制文件,不能解压,而且只能复制本地文件,文件要和dockerfile在一个目录里 (官方推荐复制用COPY)

VOLUME:创建一个容器内的挂载点,既可以为宿主机挂载,也可以供容器挂载

USER:设置运行镜像时使用的用户或者UID(可以不加,可有可无)

WORKDIR:为后续指令设置的工作目录

ONBUILD:这个镜像可以被其他镜像引用,需要这个命令

ARG:和EVN一样,传参,用与创建容器时,传递参数,ENV可用于容器运行时的设置的环境变量

CMD和ENTRYPOINT的区别

(思考题):

这两个都是可以作为容器启动时的默认命令

  1. CMD可以把参数传给ENTRYPOINT
  2. 多个ENTRYPOINT和多个CMD,只会运行最后一个(一个dockerfile当中只会有一个ENTRYPOINT和CMD)
  3. ENTRYPONIT的指令不会被覆盖,CMD的指令如果在docker run的后面加上输出,会被覆盖
  4. ENTRYPONIT和CMD的指令在容器启动时执行,都会成为容器的主进程,主进程负责接收信号,处理容器的生命周期,主进程退出,容器也将终止运行

演示一个dockerfile

vim Dockerfile(Docker要大写)

docker build -t centos7:test .

docker run --name test3 centos7:test

Run命令的优化:

主要是减少镜像的层数:把多个run命令写在一块

&&符号:

RUN yum -y install nginx && make -j 4 && make install

前一个命令执行成功才会执行下一个命令

:符号:

RUN yun -y install nginx; make -j 4; make install

不管前面一个命令是否成功,后面的命令都会执行

||:

如果前面的命令执行失败,才会执行后面的操作

反斜杠\:换行

RUN yun -y install nginx\

&& make -j 4\

make install

可读性更高

COPY和add区别:

COPY和add都可以把本地文件复制到镜像中,但是官方推荐如果复制,使用COPY

区别:

Add可以解压压缩,如果是一个压缩文件,add在复制之后会自动解压(tar.gz和tar.bz2)可以支持URL下载源文件,支持下载,但是不能解压,通过URL拷贝的文件无法自动解压

COPY只能复制,不能解压,而且只能是本地文件,不支持URL路径

如和构建一个更高级的dockerfile:

需求:基于centos7构建一个Apache的dockerfile(编译安装):

必须要与dockerfile在同一目录,否则解压报错

FROM centos:7

MAINTAINER this is my  diy apache <wang>

RUN yum install -y gcc gcc-c++ make pcre pcre-devel expat-devel perl

ADD apr-1.6.2.tar.gz /opt/

ADD apr-util-1.6.0.tar.gz /opt/

ADD httpd-2.4.29.tar.bz2 /opt/

RUN mv /opt/apr-1.6.2 /opt/httpd-2.4.29/srclib/apr && mv /opt/apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util &&\

cd /opt/httpd-2.4.29/ &&\

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi &&\

make -j 4 && make install

EXPOSE 80

CMD ["/usr/local/httpd/bin/apachectl","-D","FOREGROUND"]

docker build -t apache:centos .

构建dockerfile

层次

镜像已经创建好

创建容器,后面不用加/bin/bash 否则将会覆盖CMD

docker run -itd --name test3 http -p 1314:80 apache:centos

如何基于镜像进行二次构建

通过二次构建,可以大大减少镜像的空间(补充)

第一层

二层构建

重新构建一下

结果显示比原来小了200多MB

http://www.ds6.com.cn/news/26783.html

相关文章:

  • 网站建设需要企业提供哪些素材网络营销策划的目的
  • 网站建设基本流程详细说明谷歌怎么推广自己的网站
  • 建高级网站外贸推广平台哪个好
  • 只用js可以做网站吗线上宣传推广方式
  • 做网批那个网站好百度广告联盟app
  • 谷歌网站为什么打不开网络营销怎么做
  • 鲜花网站的网络营销与策划书seo推广培训
  • 饮食网站模板北京发生大事了
  • 注册了域名怎么添加到自己的网站手机如何制作网页链接
  • 建设网站策划书查权重的软件
  • 网站开发公司属于什么行业软文案例
  • 企业网站设计图近期重大新闻
  • 怎样做销售水蜜桃网站sem seo
  • 西宁做网站的有吗个人如何做百度推广
  • 怎么从网站知道谁做的优化网站打开速度
  • 广告传媒深圳百度seo公司
  • 关于国际贸易的网站太原seo排名
  • 自己做的网站加载慢的原因网络营销课程个人感悟
  • 新疆乌鲁木齐建设工程信息网百度seo排名点击软件
  • 山东超越建设集团网站网上商城建设
  • 南通网站制作公司搜搜
  • 莱芜做网站优化头条今日头条
  • 中国建设银行网站登录不上百度贴吧广告投放价格
  • php网站后台密码忘记了完整企业网站模板
  • 网络规划设计师是职业资格吗优化网站价格
  • wordpress免费主题cms关键词优化公司网站
  • 目前网站在初级建设阶段_需要大量数据丰富英文网站seo
  • 用什么程序做网站好百度帐号个人中心
  • 网站社区怎么创建黑帽seo是什么
  • 网站建设的主要技术指什么怎样在百度上发帖子