Docker之数据卷&自定义镜像

目录

一、数据卷

二、Dockerfile

1. 作用

2. 自定义centos

3. 自定义tomcat8


一、数据卷

#数据卷 

将宿主机的目录与容器的目录进行挂载,实现数据共享

docker run -di --name c2 -v /home/lijie/data/:/home/lijie/data/ centos:7

结论:不管宿主机、容器在指定目录创建文件夹还是文件,都会被共享

#数据卷容器

容器与容器共享目录

docker run -di -v /home/lijie/data/c4 --name c4 centos:7

docker run -di --volumes-from c4 --name c6 centos:7

其中c4为数据卷容器,c6为普通容器,其中c4就起到一个桥接作用,我们可以通过docker inspect查看容器的详细情况

会发现c4、c6目录挂载情况是一样的

结论:不管c4、c6在指定目录创建文件夹还是文件,都会会被共享

二、Dockerfile

1. 作用

用来制作镜像的文件

2. 自定义centos

#编辑Dockerfile文件

vim MyCentosDockerfile

#Dockerfile文件中的内容

FROM centos:7 
MAINTAINER lijie"lijie@qq.com" 
RUN yum -y install vim
RUN yum install net-tools.x86_64 -y
CMD /bin/bash

#构建镜像

docker build -f MyCentosDockerfile -t lijie/centos:v1.0 .

#通过镜像运行一个容器进行测试

docker run -it --name mc1 lijie/centos:v1.0 /bin/bash

3. 自定义tomcat8

#编辑Dockerfile文件

vim MytomcatDockerfile

#Dockerfile文件中的内容

FROM centos:7
MAINTAINER lijie"lijie@qq.com"

ENV workerDir /home/lijie/dockerfile/3
WORKDIR $workerDir

ADD jdk-8u151-linux-x64.tar.gz $workerDir
COPY apache-tomcat-8.5.20.tar.gz $workerDir
RUN tar -xvf apache-tomcat-8.5.20.tar.gz apache-tomcat-8.5.20

ENV JAVA_HOME $workerDir/jdk1.8.0_151
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV TOMCAT_HOME $workerDir/apache-tomcat-8.5.20
ENV PATH $JAVA_HOME/bin:$TOMCAT_HOME/bin:$TOMCAT_HOME/lib:$PATH

EXPOSE 8080
ENTRYPOINT ["/home/lijie/dockerfile/3/apache-tomcat-8.5.20/bin/catalina.sh","run"]

#构建镜像

docker build -f MytomcatDockerfile -t lijie/tomcat8:v1.0 .

#通过镜像运行2个容器进行测试

docker run -di --name mt1 -P lijie/tomcat8:v1.0

docker run -di --name mt2 -p 8080:8080 lijie/tomcat8:v1.0

#访问tomcat

192.168.93.141:32768

192.168.93.141:8080