博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建Docker基础镜像
阅读量:2068 次
发布时间:2019-04-29

本文共 2976 字,大约阅读时间需要 9 分钟。

序言

创建基础镜其实也是需要把基础镜像拉下来(最最基本的镜像就是centos,rhel,Ubuntu等不同操作系统的各个版本cuiyaonan2000@163.com),然后创建一个实例,在实例里面做些设置修改,然后在打包成镜像供其它镜像使用,再打包封装成一个新镜像。

 

创建Centos7的基础镜像(包含jdk8

 

直接根据dockfile来创建一个镜像。

#创建个目录[root@cuiyaonan2000 soft]#  mkdir centos#进入该目录[root@cuiyaonan2000 soft]#  cd ./centos#创建dockfile文档[root@cuiyaonan2000 centos]#  vi dockfile#内容如下FROM centos:7# 定义时区参数ENV TZ=Asia/ShanghaiRUN ls -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone# 设置编码RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8ENV LC_ALL "zh_CN.UTF-8"ADD jdk1.8.0_271  /soft/jdk1.8.0_271ENV JAVA_HOME /soft/jdk1.8.0_271ENV JRE_HOME $JAVA_HOME/jreENV CLASSPATH $JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarENV PATH $PATH:$JAVA_HOME/bin# 安装基础yum包RUN yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel patch net-tools iproute telnet bind-utils wget kde-l10n-Chinese glibc-common

 

启动镜像并进入该镜像实例内部

# 拉去好镜像后启动该镜像# --privileged       root权限# -d 5e35e350aded    镜像 ID# -p 8080:80         端口映射,后面要装nginx[root@cuiyaonan2000 centos]#  docker run --privileged -it -p 8080:80 -d 281a61b319dd /usr/sbin/init#进入该镜像实例内部[root@cuiyaonan2000 centos]# docker exec -it 5be8341bc03c /bin/bash

 

配置Jdk1.8

#首先推出容器,将本机的jdk复制到容器内的soft文件夹下#281a61b319dd 为容器的ID[root@cuiyaonan2000 jdk]# docker cp jdk1.8.0_271/ 281a61b319dd:/soft/#进入容器后 设置环境变量[cuiyaonan2000@5be8341bc03c jdk1.8.0_271]# vi /etc/profile#增加如下内容export JAVA_HOME=/soft/jdk1.8.0_271export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jarexport PATH=${PATH}:${JAVA_HOME}/bin#立即生效[cuiyaonan2000@5be8341bc03c jdk1.8.0_271]# source /etc/profile[cuiyaonan2000@5be8341bc03c ~]#  vi ~/.bashrc #增加如下内容export JAVA_HOME=/soft/jdk1.8.0_271export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jarexport PATH=${PATH}:${JAVA_HOME}/bin#立即生效[cuiyaonan2000@5be8341bc03c ~]# source ~/.bashrc

 

根据容器构建新的镜像

#查看运行中的容器[root@cuiyaonan2000 centos]# docker ps#关闭centos容器[root@cuiyaonan2000 centos]# docker stop 5be8341bc03c# 查看centos容器id[root@cuiyaonan2000 centos]# docker ps -a# 构建镜象# 5be8341bc03c  容器名# local-centos  镜象名[root@cuiyaonan2000  centos]# docker commit 5be8341bc03c  local-centos

 

本环境打包镜像----如果有Harbor就跳过这个

 

[root@cuiyaonan2000  centos]# docker save -o lnmp.tar lnmp # 查看[root@cuiyaonan2000  centos]#  ll -rw-------  1 root root 376077312 4月  27 17:14 lnmp.tar#如何使用lnmp.tar[root@cuiyaonan2000  centos]# scp root@192.168.1.113:/root/lnmp.tar /home/ # 查看[root@cuiyaonan2000  centos]#  ll /home/-rw------- 1 root root 376077312 4月  27 17:19 lnmp.tar # 加载[root@cuiyaonan2000  centos]#  docker load -i /home/lnmp.tar # 查看镜象[root@cuiyaonan2000  centos]#  docker images REPOSITORY          TAG                 IMAGE ID            CREATED             SIZElnmp               latest              947680f32a52        39 minutes ago      365MB # 运行容器docker run --name lnmp -it -d lnmp /bin/bash # 进入容器[root@cuiyaonan2000  centos]#  docker exec -it lnmp /bin/bash

 

转载地址:http://kdcmf.baihongyu.com/

你可能感兴趣的文章
Win10+VS2015编译libcurl
查看>>
Windows下使用jsoncpp
查看>>
Ubuntu下测试使用Nginx+uWsgi+Django
查看>>
Windows下编译x264
查看>>
visual studio调试内存泄漏工具
查看>>
开源Faac实现PCM编码AAC
查看>>
Windows下wave API 音频采集
查看>>
借船过河:一个据说能看穿你的人性和欲望的心理测试
查看>>
AndroidStudio 导入三方库使用
查看>>
Ubuntu解决gcc编译报错/usr/bin/ld: cannot find -lstdc++
查看>>
解决Ubuntu14.04 - 16.10版本 cheese摄像头灯亮却黑屏问题
查看>>
解决Ubuntu 64bit下使用交叉编译链提示error while loading shared libraries: libz.so.1
查看>>
VS生成DLL文件供第三方调用
查看>>
Android Studio color和font设置
查看>>
Python 格式化打印json数据(展开状态)
查看>>
Centos7 安装curl(openssl)和libxml2
查看>>
Centos7 离线安装RabbitMQ,并配置集群
查看>>
Centos7 or Other Linux RPM包查询下载
查看>>
运行springboot项目出现:Type javax.xml.bind.JAXBContext not present
查看>>
Java中多线程向mysql插入同一条数据冲突问题
查看>>