我的编程空间,编程开发者的网络收藏夹
学习永远不晚

麒麟ARM64制作nginx,java,php,node基础镜像

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

麒麟ARM64制作nginx,java,php,node基础镜像

一.环境准备

1.网上搜底层镜像

麒麟容器基础镜像:

 docker search kylin

镜像准备

docker pull kylin

注:最好自己制作底层镜像

2.自己做底层镜像

注:做镜像时需要在麒麟ARM操作系统上

1)准备麒麟镜像

# 1.创建工作目录,可以随意定,不能用/rootmkdir /home/kylin-docker-fs && cd /home/kylin-docker-fs# 2.创建基础目录,dev 必须要创建,不然会提示找不到/dev/nullmkdir usr devcp -a /usr/lib /usr/lib64 /usr/bin /usr/share usr/# 3.创建链接2ln -s usr/lib libln -s usr/lib64 lib64ln -s usr/bin bin# 4.复制配置以及root目录cp -a /etc /root ./# 5.裁剪部分脚本,不然会提示/proc 没有mount rm -rf etc/profile.d/flatpak.sh etc/profile.d/gawk.csh etc/profile.d/gawk.sh etc/profile.d/lang.csh etc/profile.d/lang.sh etc/profile.d/system-info.sh# 6.测试镜像目录(切换根目录防止数据冗余,ctrl + d退出)chroot .# 7.镜像目录测试没有问题,打包cd ..tar -C kylin-docker-fs/ -z -c . -f kylin-armv8-docker.tar.gz

2)制作镜像

# 将制作的kylin.tar导入docker,镜像命名为kylin:v01cat kylin-armv8-docker.tar.gz | docker import - kylin:v01

3.查看镜像与运行查看

# 查看镜像~]# docker images | grep kylinkylin      v01      fa3cb98dae64      6 hours ago     3.59GB# 运行查看(注:需要host模式,否则yum会使用不了)~]# docker run -it --net=host kylin:v01 /bin/bash/ yum clean allUnable to detect release version (use '--releasever' to specify release version)0 files removed/]# yum makecache/]# yum -y install nfs-utils

二.制作nginx

~]# vim DockerfileFROM  kylin:v01MAINTAINER kali_yaoENV OPENRESTY_VERSION 1.19.9.1ENV TZ=Asia/ShanghaiRUN yum -y install pcre-devel \                zlib-devel \                openssl-devel \                gcc \                unzip \                make \                vi \                wget \                make \                 perl \                perl-devel \    && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \    && mkdir /nginx \    && cd /nginx \    && wget https://openresty.org/download/openresty-$OPENRESTY_VERSION.tar.gzRUN   cd /nginx \      && tar -zxf openresty-1.19.9.1.tar.gz \      && cd /nginx/openresty-1.19.9.1 \      && ./configure  --prefix=/usr/local/tapd/openresty-$OPENRESTY_VERSION \                      --with-threads \                      --with-file-aio \                      --with-pcre \                      --with-pcre-jit \                      --with-http_v2_module \                      --with-http_realip_module \                      --with-http_gunzip_module \                      --with-http_gzip_static_module \                      --with-http_secure_link_module \                      --with-http_degradation_module \                      --with-http_stub_status_module \                      --without-http_memcached_module \                      --without-mail_pop3_module \                      --without-mail_imap_module \                      --without-mail_smtp_module \      && gmake -j2 \      && make install~]# docker build --no-cache -t nginx-server-arm64:1.0 . --network=host

三.制作java

~]# vim DockerfileFROM  kylin:v01MAINTAINER kali_yaoENV JAVA_VERSION 8u212RUN mkdir /usr/javaADD jdk-$JAVA_VERSION-linux-arm64-vfp-hflt.tar.gz /usr/javaRUN cd /usr/java \    && mv /usr/java/jdk1.8.0_212 /usr/java/jdkRUN rm -rf /usr/javaENV JAVA_HOME /usr/java/jdkENV PATH ${PATH}:${JAVA_HOME}/bin

软件包需要到官网上下载,每下载一次隔一段时间需要登录官网账户 软件包:jdk-8u212-linux-arm64-vfp-hflt.tar.gz 链接:https://download.oracle.com/otn/java/jdk/8u212-b10/59066701cf1a433da9770636fbc4c9aa/jdk-8u212-linux-arm64-vfp-hflt.tar.gz

~]# docker build --no-cache -t nginx-server-arm64:1.3 . --network=host

四.制作php

~]# vim DockerfileFROM  kylin:v01MAINTAINER kali_yaoENV PHP_VERSION 7.2.34ENV TZ=Asia/ShanghaiRUN yum -y install  \           pcre-devel \           zlib-devel \           openssl-devel \           gcc \           unzip \           make \           vi \           wget \           make \            perl \           perl-devel \           zlib \            libxml \           libjpeg \           freetype \           libpng \           gd \           curl \            libiconv \           libxml2 \           libxml2-devel \           libjpeg-devel \           freetype-devel \           libpng-devel \           gd-devel \           curl-devel \           libxslt-devel \           openssl \           gmp-devel \           coreutils RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneRUN \      mkdir -p /data/www/conf/php7 \     && mkdir -p /usr/local/tapd/php \     && cd /data/www/conf/php7 \     && wget https://museum.php.net/php7/php-$PHP_VERSION.tar.gz \     && tar -xf php-$PHP_VERSION.tar.gz # install phpRUN PHP_CONFIG="\        --prefix=/usr/local/tapd/php-$PHP_VERSION \        --with-config-file-path=/usr/local/tapd/php-$PHP_VERSION/etc \        --enable-fpm \        --with-mhash \        --enable-sockets \        --enable-shared \        --with-mysqli \        --with-pdo-mysql \        --with-pic \        --enable-calendar \        --enable-ctype \        --enable-wddx \        --with-gd \        --enable-bcmath \        --enable-ftp \        --with-iconv \        --enable-mbstring \        --enable-sysvsem \        --enable-sysvshm \        --enable-soap \        --with-libxml-dir=/usr/local/tapd/libxml2-2.9.2 \        --with-jpeg-dir=/usr/local/tapd/libjpeg-9a \        --with-png-dir=/usr/local/tapd/libpng-1.6.16 \        --with-openssl \        --with-curl=/usr/local/tapd/curl-7.41.0 \        --with-freetype-dir=/usr/local/tapd/freetype-2.5.5 \        --with-gmp=/usr/local/tapd/gmp-6.1.0 \        --with-xsl=/usr/local/tapd/libxslt-1.1.28 \        --enable-zip \        --with-zlib \    " RUN cd /data/www/conf/php7/php-$PHP_VERSION \    && ./configure $PHP_CONFIG \     && make \    && make install \     && ln -s /usr/local/tapd/php-$PHP_VERSION/ /usr/local/tapd/php \    && ln -s /usr/local/tapd/php/bin/php /usr/bin/php \    && rm -rf /data/www/conf/php7~]# docker build --no-cache -t nginx-server-arm64:1.1 . --network=host

五.制作node

~]# vim DockerfileFROM  kylin:v01MAINTAINER kali_yaoRUN yum -y install wget RUN cd /usr/local/  \    && wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-arm64.tar.gz \    && tar -xf node-v10.15.3-linux-arm64.tar.gz RUN mv /usr/local/node-v10.15.3-linux-arm64 /usr/local/nodeRUN \    ln -s /usr/local/node/bin/node /usr/local/bin/node \    && ln -s /usr/local/node/bin/npm /usr/local/bin/npm~}# docker build --no-cache -t nginx-server-arm64:1.4 . --network=host

六.汇总制作

~]# vim DockerfileFROM  kylin:v01MAINTAINER kali_yaoENV OPENRESTY_VERSION 1.19.9.1ENV PHP_VERSION 7.2.34ENV JAVA_VERSION 8u212ENV TZ=Asia/ShanghaiRUN yum -y install  \           pcre-devel \           zlib-devel \           openssl-devel \           gcc \           unzip \           make \           vi \           wget \           make \            perl \           perl-devel \           zlib \            libxml \           libjpeg \           freetype \           libpng \           gd \           curl \            libiconv \           libxml2 \           libxml2-devel \           libjpeg-devel \           freetype-devel \           libpng-devel \           gd-devel \           curl-devel \           libxslt-devel \           openssl \           gmp-devel \           coreutils RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneRUN \     mkdir /nginx \    && cd /nginx \    && wget https://openresty.org/download/openresty-$OPENRESTY_VERSION.tar.gzRUN \      mkdir -p /data/www/conf/php7 \     && cd /data/www/conf/php7 \     && wget https://museum.php.net/php7/php-$PHP_VERSION.tar.gz \     && tar -xf php-$PHP_VERSION.tar.gz # install nginxRUN NGINX_CONFIG="\    --prefix=/usr/local/tapd/openresty-$OPENRESTY_VERSION \    --with-threads \    --with-file-aio \    --with-pcre \    --with-pcre-jit \    --with-http_v2_module \    --with-http_realip_module \    --with-http_gunzip_module \    --with-http_gzip_static_module \    --with-http_secure_link_module \    --with-http_degradation_module \    --with-http_stub_status_module \    --without-http_memcached_module \    --without-mail_pop3_module \    --without-mail_imap_module \    --without-mail_smtp_module \    " \    && cd /nginx \    && tar -zxf openresty-1.19.9.1.tar.gz \    && cd /nginx/openresty-1.19.9.1 \    && ./configure $NGINX_CONFIG \    && gmake -j2 \    && make install \    && rm -rf /nginx# install phpRUN PHP_CONFIG="\        --prefix=/usr/local/tapd/php-$PHP_VERSION \        --with-config-file-path=/usr/local/tapd/php-$PHP_VERSION/etc \        --enable-fpm \        --with-mhash \        --enable-sockets \        --enable-shared \        --with-mysqli \        --with-pdo-mysql \        --with-pic \        --enable-calendar \        --enable-ctype \        --enable-wddx \        --with-gd \        --enable-bcmath \        --enable-ftp \        --with-iconv \        --enable-mbstring \        --enable-sysvsem \        --enable-sysvshm \        --enable-soap \        --with-libxml-dir=/usr/local/tapd/libxml2-2.9.2 \        --with-jpeg-dir=/usr/local/tapd/libjpeg-9a \        --with-png-dir=/usr/local/tapd/libpng-1.6.16 \        --with-openssl \        --with-curl=/usr/local/tapd/curl-7.41.0 \        --with-freetype-dir=/usr/local/tapd/freetype-2.5.5 \        --with-gmp=/usr/local/tapd/gmp-6.1.0 \        --with-xsl=/usr/local/tapd/libxslt-1.1.28 \        --enable-zip \        --with-zlib \    " RUN cd /data/www/conf/php7/php-$PHP_VERSION \    && ./configure $PHP_CONFIG \     && make \    && make install \     && ln -s  /usr/local/tapd/php-$PHP_VERSION/ /usr/local/tapd/php \    && ln -s /usr/local/tapd/php/bin/php /usr/bin/php \    && rm -rf /data/www/conf/php7# install nodeRUN cd /usr/local/  \    && wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-arm64.tar.gz \    && tar -xf node-v10.15.3-linux-arm64.tar.gz RUN mv /usr/local/node-v10.15.3-linux-arm64 /usr/local/nodeRUN \    ln -s /usr/local/node/bin/node /usr/local/bin/node \    && ln -s /usr/local/node/bin/npm /usr/local/bin/npm# install javaRUN mkdir /usr/javaADD jdk-$JAVA_VERSION-linux-arm64-vfp-hflt.tar.gz /usr/javaRUN cd /usr/java \    && mv /usr/java/jdk1.8.0_212 /usr/java/jdkRUN rm -rf /usr/javaENV JAVA_HOME /usr/java/jdkENV PATH ${PATH}:${JAVA_HOME}/bin~]# docker build --no-cache -t nginx-server-arm64:1.0.0 . --network=host

来源地址:https://blog.csdn.net/kali_yao/article/details/128789591

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

麒麟ARM64制作nginx,java,php,node基础镜像

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录