docker镜像那些事!您懂多少?
Posted Friends of the wind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker镜像那些事!您懂多少?相关的知识,希望对你有一定的参考价值。
思考三个问题
1、镜像是什么?
2、如何上传、下载镜像?
3、怎么自己创建镜像?
答案:
1、镜像 是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
2、 上传命令语法: docker push [OPTIONS] NAME[:TAG]
下载命令语法:docker pull [OPTIONS] NAME[:TAG]
3、 用两种方式创建自己的镜像:
第一种:用下载的镜像进行二次修改,创建成自己的。
1)编写Dockerfile文件
vim mydockerfile-centos
FROM centos
MAINTAINER hehe<12345@qq.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "-----end----"
CMD /bin/bash
2)使用此文件创建镜像
docker build -f mydockerfile-centos -t mycentos:0.1 .
成功提示!
3)测试
第二种:用dockerfile 构建一个完整的镜像。
1)注意:必须关闭宿主机防火墙、setenforce
创建目录及文件
镜像文件:Dockerfile
编写说明文件:readme.txt
tomcat 、 jdk安装包
创建数据卷目录
test 、tomcatfile
2、编写Dockerfile
FROM centos
MAINTAINER hehe<12345@qq.com> #基础镜像,一切从这里构建
COPY readme.txt /usr/local/readme.txt #复制文件
ADD jdk-8u231-linux-x64.tar.gz /usr/local/ #复制解压
ADD apache-tomcat-9.0.54.tar.gz /usr/local/ #复制解压
RUN yum -y install vim
ENV MYPATH /usr/local #设置环境变量
WORKDIR $MYPATH #设置工作目录
ENV JAVA_HOME /usr/local/jdk1.8.0_231 #设置环境变量
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.54 #设置环境变量
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib #设置环境变量 分隔符是:
EXPOSE 8080 #设置暴露的端口
CMD /usr/local/apache-tomcat-9.0.54/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.54/logs/catalina.out # 设置默认命令
3、构建镜像
若dockerfile命名使用默认命名即Dockerfile, 则不用使用-f 指定文件
docker build -t mytomcat:0.1 .
成功如下图:
验证:
4、用此镜像,启动容器
命令:docker run -d -p 8080:8080 --name tomcat99 -v /test:/usr/local/apache-tomcat-9.0.54/webapps/test -v /tomcatlogs/:/usr/local/apache-tomcat-9.0.54/logs mytomcat:0.1
执行结果:
4、 验证:宿主机访问
以上是关于docker镜像那些事!您懂多少?的主要内容,如果未能解决你的问题,请参考以下文章
Java 并发编程解析 | 关于线程机制的那些事,你究竟了解多少?
Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段