本文共 2976 字,大约阅读时间需要 9 分钟。
创建基础镜其实也是需要把基础镜像拉下来(最最基本的镜像就是centos,rhel,Ubuntu等不同操作系统的各个版本cuiyaonan2000@163.com),然后创建一个实例,在实例里面做些设置修改,然后在打包成镜像供其它镜像使用,再打包封装成一个新镜像。
#创建个目录[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
#首先推出容器,将本机的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
[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/