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

厦门方易网站制作有限公司公司网站的推广

厦门方易网站制作有限公司,公司网站的推广,linux做网站要求,辽宁模板网站建设公司目录 一、基于上次的nginx的Dockerfile做多级构建 二、基于上次的php的Dockerfile修改做多级构建 三、基于上次的mysql的Dockerfile修改做多级构建 基于以上三个镜像构建 四、镜像体积是不是越小越好?为什么要缩减镜像体积? 五、缩小镜像体积的方法…

目录

一、基于上次的nginx的Dockerfile做多级构建

二、基于上次的php的Dockerfile修改做多级构建

三、基于上次的mysql的Dockerfile修改做多级构建

基于以上三个镜像构建

四、镜像体积是不是越小越好?为什么要缩减镜像体积?

五、缩小镜像体积的方法有哪些?


一、基于上次的nginx的Dockerfile做多级构建

[root@localhost nginx]#cp Dockerfile{,.bak}
[root@localhost nginx]#ls
Dockerfile  Dockerfile.bak  html  nginx-1.24.0.tar.gz  nginx.conf
##修改dockerfile
[root@localhost nginx]#vim Dockerfile##多级构建nginx镜像
[root@localhost nginx]#docker build -t nginx:lnmp .[root@localhost nginx]#docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        lnmp      4dca9c42d983   5 seconds ago   208MB
nginx        centos    cd7bd0d67d77   6 hours ago     560MB
centos       7         eeb6ee3f44bd   2 years ago     204MB

FROM centos:7 as build
#基于centos7镜像
MAINTAINER nginx on centos7 by lxy-20240125
#注释信息
ADD nginx-1.24.0.tar.gz /opt/
#将nginx安装包传输到镜像中
RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make && \cd /opt/nginx-1.24.0 && \./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && \make && make install
#下载编译安装nginx的依赖环境,以及创建nginx用户,进入nginx目录中,完成配置--编译--安装
ENV PATH=$PATH:/usr/local/nginx/sbin/
#创建镜像的环境变量
ADD nginx.conf /usr/local/nginx/conf/nginx.conf
#将配置文件传输的镜像中,覆盖原有的nginx.conf文件
RUN chmod 777 -R /usr/local/nginx/html/
#修改权限FROM centos:7
#再次基于centos7
COPY --from=build /usr/local/nginx /usr/local/nginx
#把第一阶段的安装目录复制到第二阶段
RUN useradd -M -s /sbin/nologin nginx
#必须的有个nginx用户
EXPOSE 80
#暴露80端口
CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]
#设置启动命令

二、基于上次的php的Dockerfile修改做多级构建

[root@localhost php]#cp Dockerfile{,.bak} 
[root@localhost php]#ls
Dockerfile  Dockerfile.bak  php-7.1.10.tar.bz2  php-fpm.conf  php.ini  www.conf[root@localhost php]#vim Dockerfile
[root@localhost php]#docker build -t php:lnmp .[root@localhost php]#docker images
REPOSITORY   TAG       IMAGE ID       CREATED              SIZE
php          lnmp      0e64d9300be2   About a minute ago   520MB
php          centos    6ae7f531fd8a   4 hours ago          965MB

FROM centos:7
#基础镜像为centos7
MAINTAINER this is php image <lxy:20240125>
#注释信息
ADD php-7.1.10.tar.bz2 /opt/
#将文件传输到镜像中
RUN yum -y install  gd libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel gcc gcc-c++ make pcre-develgcc gcc-c++ make pcre-devel && \
yum clean all && \
cd /opt/php-7.1.10 && \./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip && make -j 2&& make install && \
useradd -M -s /sbin/nologin nginx
#通过RUN依次下载php的依赖环境,清理yum缓存
#进入文件,配置--编译--安装
#创建nginx用户
COPY php.ini    /usr/local/php/lib/php.ini
COPY php-fpm.conf /usr/local/php/etc/php-fpm.conf
COPY www.conf /usr/local/php/etc/php-fpm.d/www.conf
#将三个配置文件传输到镜像中FROM centos:7
RUN yum -y install  gd libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel gcc gcc-c++ make pcre-develgcc gcc-c++ make pcre-devel && \
yum clean all && \
useradd -M -s /sbin/nologin nginx
COPY --from=0 /usr/local/php /usr/local/php
EXPOSE 9000
#暴露9000端口
CMD [ "/usr/local/php/sbin/php-fpm", "-F" ]
#启动

三、基于上次的mysql的Dockerfile修改做多级构建

FROM centos:7
#基于centos7镜像
MAINTAINER this is mysql image <lxy>
#注释信息
ADD mysql-boost-5.7.44.tar.gz /opt/
#将安装包和配置文件传输到镜像中
RUN yum -y install make gcc gcc-c++ ncurses ncurses-devel bison cmake openssl-devel && \yum clean all && \cd /opt/mysql-5.7.44/ && \cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1 && make -j 2 && make install
#依次安装依赖环境,注意新版本必须要openssl环境,注意提示报错查看
#清理yum缓存
#进入mysql解压包中,完成cmake--编译--安装
FROM centos:7
COPY --from=0 /usr/local/mysql /usr/local/mysql
COPY my.cnf /etc/my.cnf
RUN useradd -M -s /sbin/nologin  mysql && \chown mysql:mysql /etc/my.cnf && \chown -R mysql:mysql /usr/local/mysql/ &&\/usr/local/mysql/bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
#创建一个mysql用户
#修改配置文件的权限
#修改安装目录的权限
#直接用命令启动mysql
ENV PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
#配置环境变量
EXPOSE 3306
#暴露端口
CMD ["/usr/local/mysql/bin/mysqld"]
#设置默认启动命令

 

基于以上三个镜像构建

 

四、镜像体积是不是越小越好?为什么要缩减镜像体积?

核心:降本增效以及安全

容器是镜像运行起来的实例,容器是宿主机的一个进程,那么肯定是镜像越小越好

  • 镜像越小说明占用宿主机的磁盘、内存资源越少,节约资源;
  • 镜像越小说明需要处理的文件越少,构建越快,提高效率;
  • 镜像越小,那么可以被攻击的面越小,就越安全。

五、缩小镜像体积的方法有哪些?

1)尽量使用体积小的基础镜像,比如alpine,这是专门为容器创建的;

2)尽量减少dockerfile的指令,因为每一条指令对应一层文件系统;(镜像是一层一层文件系统叠加的整体文件系统,对外展现为一个整体);

3)RUN指令的最后可以清理一下yum缓存,清理一下安装包等;

4)COPY尽量放在RUN后面,docker可以更好使用缓存功能;

5)使用.dockerignore文件,将不复制的文件定义在文件中;

6)容器镜像里一般只运行单个应用,这样体积更小,也更好管理;

7)使用多阶段构建;

 FROM 第一构建阶段的基础镜像 as 别名
....
FROM 第二构建阶段的基础镜像
COPY --from=别名|阶段ID(第一阶段为0)  第一阶段构建的文件|目录  当前阶段的路径
....
CMD|ENTRYPOINT 指定启动命令

在mysql镜像构建过程中的报错

 No space left on device
表示磁盘空间不足,当前是虚拟机测试环境,虚拟机只给了40G,没想到报错,也查看挂载点使用量,确实是磁盘空间不够了。这个时候直接重新换一台主机太难受了,然后通过逻辑卷扩容实现的

 

http://www.15wanjia.com/news/55162.html

相关文章:

  • 企业网站策划流程百度关键词挖掘查询工具
  • 天津网站建设解决方案短视频平台推广方案
  • 重庆建设工程造价信息网站电脑培训班一般需要多少钱
  • 欧米茄女士手表网站新网域名注册查询
  • 一般网站建设公司好51趣优化网络seo工程师教程
  • 网站开发职业定位郑州网站制作公司哪家好
  • 网站规划建设与管理维护教学大纲seo网站推广平台
  • 网站图片分辨率百度搜索广告怎么投放
  • 做普通网站多少钱谷歌应用商店app下载
  • 在哪里学做网站深圳网络推广公司有哪些
  • 如何虚拟一个公司网站做网站排名服务热线
  • 如何建立公司网站建设环球资源网站网址
  • 制作图片怎么做seo网站优化推广怎么样
  • 荣成信用建设网站快速建网站
  • 怎么做网站用于推广seo搜索引擎优化主要做什么
  • 长图可以在哪些网站做h5下一页
  • 北京市住房和城乡建设委员网站邯郸seo
  • 网站备案是一年一次吗上海网站优化
  • 网站对品牌的作用中国站长网入口
  • 小程序开发制作工具seo用什么论坛引流
  • 自适应网站怎么做移动配置网络安全培训
  • 成都企业网站维护北京全网推广
  • 浙江网站建设推荐网站优化 福州
  • 性能网站建设扬州seo优化
  • 中山 网站建设朋友圈广告推广
  • 深圳做网站制作如何推广自己产品
  • 大公司的网站都找谁设计活动软文怎么写
  • 商城网站哪个公司做的好处手机百度高级搜索入口在哪里
  • 大酒店网站源代码手机优化大师下载
  • 网站做302跳转的意义品牌整合营销推广