记录使用Dockerfile创建docker镜像的操作

lihy0 lihy0 2017-09-01

基于centos6.8版本

更新yum

安装必要的lib库

安装redis并增加密码

从外部复制Apache、Tomcat、Jre

配置JAVA_HOME环境变量

安装docker步骤略(yuminstalldocker-io或者sudoapt-getinstalldocker-io)

基于centos6.8就需要下载6.8的基础镜像

引用
docker pull centos:6.8

创建一个Dockerfile文件

FROM centos:6.8

#更新和安装软件源
RUN yum -y install epel-release
#这里开始都是redis依赖的库
RUN yum -y update libblkid libuuid plymouth-core-libs
RUN yum -y install dbus-glib hwdata initscripts iproute iptables iputils libdrm libpciaccess logrotate plymouth policycoreutils redhat-logos sysvinit-tool udev util-linux-ng jemalloc redis curl openssl lsof
#最后的curl openssl lsof 是我会用的一并安装了(其实curl和openssl是更新)


#修改redis配置(增加访问密码)
RUN sed -i '31i requirepass 1234567' /etc/redis.conf
#可选修改项,默认redis只能本机访问,改为0.0.0.0不限制访问来源
#RUN sed -i 's/^bind 127.0.0.1/bind 0.0.0.0/g' /etc/redis.conf


#复制(与Dockerfile同级有soft的文件夹)
COPY ./soft /soft

#复制文件夹后执行里面的shell
RUN sh /soft/install_tar.sh

#配置java环境变量(我使用的是解压缩方式)
ENV JAVA_HOME /usr/lib/jdk1.7.0_80
ENV JRE_HOME $JAVA_HOME/jre  
ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib  
ENV PATH $PATH:$JAVA_HOME/bin  

#移除使用完的 soft 文件夹
#RUN rm -rf /soft

#默认容器启动会调用tomcat启动服务
CMD /usr/local/tomcat/bin/catalina.sh run

摘抄install_tar.sh文件

#!/bin/bash
#解压缩 jdk、tomcat、apache 到指定路径
tar zxf /soft/jdk.tar.gz -C /usr/lib/
tar zxf /soft/tomcat.tar.gz -C /usr/local/
tar zxf /soft/apache.tar.gz -C /usr/local/

#给tomcat增加权限
chmod a+x /usr/local/tomcat/bin/*
#替换apache默认页面
mv /soft/datashield/index.html /usr/local/apache/htdocs/

#最终将全部配置和文件删除
rm -rf /soft

使用Dockerfile制作镜像(注意最后的一个点儿.不要忘了)

dockerbuild-t镜像的名字.

-----------------------------------------

查看所有镜像IMAGES

dockerimages

查看所有容器CONTAINER(不加-a只能看到正在运行的容器)

dockerps-a

删除容器

dockerrm容器ID

删除镜像

dockerrmi镜像ID或者REPOSITORY名字

启动镜像(相当于用光盘安装镜像到电脑中)

dockerrun镜像ID或者REPOSITORY名字(运行结束后容器自动进入关闭Exited状态)

dockerrun-d--nametest1-p127.0.0.1:10822:22镜像ID

dockerrun-it镜像ID/bin/bash(启动镜像并进入启动的容器中进行shell操作)

启动停止容器(相当于电脑的开关机)

dockerstart容器ID

dockerstop容器ID

参考文章

http://www.cnblogs.com/styshoo/p/6431748.html

相关推荐