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

中国网站有哪些公司自助建站系统php

中国网站有哪些公司,自助建站系统php,网站后台帐号密码破解,如何优化网站目录结构目录 docker的创建镜像的方式 dockerfile形成(原理) docker的核心作用 docker的文件结构 dockerfile的语法 CMD和ENTRPOINT的区别 创建dockerfile镜像 区别 RUN命令的优化 如何把run命令写在一块 copy和ADD区别 区别 centos7 构建Apache的d…

目录

docker的创建镜像的方式

dockerfile形成(原理)

docker的核心作用

docker的文件结构

dockerfile的语法

CMD和ENTRPOINT的区别

创建dockerfile镜像

区别

RUN命令的优化

如何把run命令写在一块

copy和ADD区别

区别

centos7 构建Apache的dockerfile(编译安装)

页面访问

​编辑

centos7 构建nginx的dockerfile(编译安装)


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

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

docker的创建镜像的方式

1、基于已有的镜像进行创建,根据官方提供的镜像源,创建镜像,然后拉起容器,是一个白版,值能提供基础的功能,

扩展性的功能还是需要自定义(进入容器进行操作)

2、基于模版进行创建

导入镜像到本地
docker import 模版 --  模版(Ubuntu:14)

3、dockerfile 联合文件系统(unionFS),docker镜像的基础(镜像通过分层来进行集成,特性:一次同时加载多个文件系统,但是从外面来看,就是一个文件系统)

docker镜像世纪上就是由一层一层的文件系统组成,这种层级的文件系统就是unionFS

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

dockerfile形成(原理)

bootfs	宿主机的引导文件系统,启动操作系统的文件,启动容器需要的最基本的文件,包含宿主机的bootloader和kernel(提供内核)
rootfs	镜像的操作系统,拉取镜像会给镜像自动创建一恶搞操作系统(拉取镜像)
run add 创建容器时的命令
container
从而形成镜像

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

rootfs 就是容器的操作系统,在dockerfile中,我们可以自己指定(是多个基础镜像和应用镜像结合起来的只读层,镜像实际上就死一个只读文件)

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

在dockerfile当中每创建一个指定都是一个镜像层

镜像层会被缓存和复用

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

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

docker的核心作用

用户个性化定制docker的镜像

docker的文件结构

1、基础镜像信息

2、维护者信息

3、镜像的操作指令

4、容器启动时,执行的命令(nginx定义好了容器执行的命令,bin/bash,覆盖了容器内的标准输出)

dockerfile的语法

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

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

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

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

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

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

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

ADD:复制,解压,解压不支持.zip和.rar tar.gz tar.bz2 支持url地址解压和复制(解压)

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

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

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

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

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

ARG:传参,用于创建容器时,传递参数,ENV用于容器运行时设置环境变量

CMD和ENTRPOINT的区别

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

创建dockerfile镜像
vim Dockerfile
FROM centos:7 
MAINTAINER "this is my docker <xb>"
ENTRYPOINT ["echo","hello"]
CMD ["world"]构建镜像
[root@docker1 test1]# docker build -t centos7:test .
[+] Building 17.0s (5/5) FINISHED                                                                             docker:default=> [internal] load .dockerignore                                                                                       0.0s=> => transferring context: 2B                                                                                         0.0s=> [internal] load build definition from Dockerfile                                                                    0.0s=> => transferring dockerfile: 183B                                                                                    0.0s=> [internal] load metadata for docker.io/library/centos:7                                                             4.5s=> [1/1] FROM docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4      12.5s=> => resolve docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4       0.0s=> => sha256:2d473b07cdd5f0912cd6f1a703352c82b512407db6b05b43f2553732b55df3bc 76.10MB / 76.10MB                        8.6s=> => sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4 1.20kB / 1.20kB                          0.0s=> => sha256:dead07b4d8ed7e29e98de0f4504d87e8880d4347859d839686a31da35a3b532f 529B / 529B                              0.0s=> => sha256:eeb6ee3f44bd0b5103bb561b4c16bcb82328cfe5809ab675bb17ab3a16c517c9 2.75kB / 2.75kB                          0.0s=> => extracting sha256:2d473b07cdd5f0912cd6f1a703352c82b512407db6b05b43f2553732b55df3bc                               3.8s=> exporting to image                                                                                                  0.0s=> => exporting layers                                                                                                 0.0s=> => writing image sha256:95db50faac27607f675dd62ed2fd7a54e573f28c4b4c6b6b19f8c0718a71c0bc                            0.0s=> => naming to docker.io/library/centos7:test                                                                         0.0s
创建容器
[root@docker1 test1]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
centos7      test      95db50faac27   2 years ago   204MB
[root@docker1 test1]# docker run -it --name test1 centos7:test 
hello world
[root@docker1 test1]# 
区别

1、cmd可以把参数传给ENTRYPOINT

2、多个ENTRYPOINT和多个cmd只会运行最后一个(一个Dockerfile当中只会有一个ENTRYPOINT和CMD)

3、ENTRYPOINT的指令不会被覆盖,CMD的指令如果在docker run的后面加上输出,会被覆盖

4、ENTRYPOINT的指令在容器启动时启动时执行,都会成为容器的主进程,主进程负责接收信号,处理容器的生命周期,主进程退出,容器也将会终止运行

RUN命令的优化

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

如何把run命令写在一块
&& 符号
RUN yum -y install nginx && make -j 4 && make install
前一个命令执行成功才会执行下一个命令; 符号
RUN yum -y install nginx ; make -j 4 ; make install
不管前一个命令是否成功,后面的命令都会执行|| 符号
RUN yum -y install nginx || make -j 4 || make install
如果前面的命令执行失败,才会执行后面的操作反斜杠\ 换行  符号
RUN yum -y install nginx \
&& make j 4\
&& make install
可读性更高
copy和ADD区别

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

区别

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

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

centos7 构建Apache的dockerfile(编译安装)
把源码包拖到opt目录下
vim Dockerfile
#创建基础镜像
FROM centos:7
MAITAIENR "this is my apache <dn>"
RUN yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl
ADD apr-1.6.2.tar.gz /opt
ADD httpd-2.4.29.tar.bz2 /opt
ADD apr-util-1.6.0.tar.gz /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 .docker run -itd --name httpd1 -p 50:80 apache:centos基于镜像的二次构建
FROM centos:7 AS first
MAITAIENR "this is my apache <dn>"
RUN yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl
ADD apr-1.6.2.tar.gz /opt
ADD httpd-2.4.29.tar.bz2 /opt
ADD apr-util-1.6.0.tar.gz /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 &&\
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi &&\
make -j 4 && make install
#二层构建
FROM centos:7
COPY --from=first /usr/local/httpd /usr/local/httpd
RUN yum -y cre pcre-devel expat-devel perl
EXPOSE 80
CMD ["/usr/local/httpd/bin/apachectl","-D","FOREGOUND"]docker build -t apache1:centos .docker run -itd --name httpd1 -p 50:80 apache:centos
页面访问
centos7 构建nginx的dockerfile(编译安装)
把源码包拖到opt/test目录下
vim Dockerfile
FROM centos:7
MAINTAINER "this is nginx <xb>"
ADD nginx-1.22.0.tar.gz /opt/test/
RUN yum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-devel &&\
useradd -M -s /sbin/nologin nginx &&\
cd /opt/test/nginx-1.22.0/ &&\
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module &&\
make -j 4 && make install &&\
chown -R nginx.nginx /usr/local/nginx/ &&\
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
EXPOSE 80
CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"][root@docker1 test]# docker build -t nginx:centos .
[+] Building 0.0s (8/8) FINISHED                                                                              docker:default=> [internal] load build definition from Dockerfile                                                                    0.0s=> => transferring dockerfile: 791B                                                                                    0.0s=> [internal] load .dockerignore                                                                                       0.0s=> => transferring context: 2B                                                                                         0.0s=> [internal] load metadata for docker.io/library/centos:7                                                             0.0s=> [internal] load build context                                                                                       0.0s=> => transferring context: 95B                                                                                        0.0s=> [1/3] FROM docker.io/library/centos:7                                                                               0.0s=> CACHED [2/3] ADD nginx-1.22.0.tar.gz /opt/test/                                                                     0.0s=> CACHED [3/3] RUN yum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-devel &&useradd -M -s /sb  0.0s=> exporting to image                                                                                                  0.0s=> => exporting layers                                                                                                 0.0s=> => writing image sha256:5f90f4b42382377324edf884560f8118d6873889dd8179df68b47de39b6fb334                            0.0s=> => naming to docker.io/library/nginx:centos                                                                         0.0s
[root@docker1 test]# docker run -itd --name xiaobu -p 8080:80 nginx:centos 
61beb14328b28a424a4c2e88d7e3a1f63e4ac55b551ec32a3656bcff3cb0711b
[root@docker1 test]# docker ps -aCONTAINER ID   IMAGE            COMMAND                  CREATED         STATUS                     PORTS                                   NAMES
61beb14328b2   nginx:centos     "/usr/local/nginx/sb…"   5 seconds ago   Exited (1) 4 seconds ago                                           xiaobu
6068029975ff   apache1:centos   "/usr/local/httpd/bi…"   3 hours ago     Up 3 hours                 0.0.0.0:1314->80/tcp, :::1314->80/tcp   httpd1
5b6c5af75176   apache:centos    "/usr/local/httpd/bi…"   3 hours ago     Exited (0) 3 hours ago                                             http1

页面访问

http://www.yayakq.cn/news/384374/

相关文章:

  • dw做的网站怎么传到网络上去公众号怎么推广产品
  • 购物网站订单状态模板wordpress教程主题
  • dede网站301怎么做桂林生活网官方网站
  • 网站开发人员的要求wordpress 设计干货模板
  • 网站 大气新浪军事网
  • 开源手机网站建站系统wordpress英文语言包
  • 广东省农业农村厅官方网站服装网站开发方案swot
  • 短租房网站哪家做最好设计素材网站推荐2023
  • 做soho的网站辽宁城乡建设集团网站
  • 大型门户网站设计公司网站优化 毕业设计
  • 怎么网站建设多少钱wordpress如何给头部加个搜索
  • 考试网站模版微信小程序项目开发实战
  • 天津酒店网站制作微信网站建设
  • 南江县住房和城乡建设局网站品牌咖啡主题网页界面设计
  • 学会了vue 能搭建一个网站平台wordpress 新建php页面模板
  • 商务网站的可行性分析包括高端网站建设与管理
  • 做网站需要做手机版吗黄埔商城网站建设
  • 大千科技网站建设建设自己网站
  • 建筑企业资质查询网站wordpress注册弹出502
  • 校园网站建设与应用网站制作方案相信乐云seo
  • 中山网站建设网站学习html 欣赏好的网站
  • 洞头建设局网站做戒烟网站素材
  • 做外贸网站平台有哪些手机能访问电脑上自己做的网站吗
  • 政务网站建设交流发言中国建设行业网站
  • 免备案的网站建设自己做网站赚钱
  • 泉州网站设计制作德阳建设公司网站
  • 纯静态网站的用什么cms熟悉免费的网络营销方式
  • 网站的网站建设企业铜川市新区建设局网站
  • 深达网站制作深圳公司wordpress主题 外贸网站模板
  • 网站建设售后服务安全维护做网站需要买什么东西