DockerFile
docker是企业交付的一个标准,以前用war包,jar包可能存在版本不一致导致问题等等。现在docker镜像直接连带着环境也一起交付了。消除了很多灰色因素
步骤
- dockerFile定义命令 (每个命令在docker里面都是一层)
- 根据dockerFile创建镜像
- 运行镜像获得容器

FROM #基础镜像MAINTAINER #维护人RUN #镜像构建的时候会启动的命令ADD #在基础镜像上叠加东西 tomcatWORKDIR #镜像的工作目录(镜像在宿主机的工作目录?)VOLUME #挂载的目录EXPOSE #开放端口CMD #指定镜像启动时运行的命令(只有最后一个会生效)ENTRYPOINT #指定镜像启动时运行的命令ONBUILD #当构建被继承COPY #将文件目录下的文件拷贝到镜像中ENV #设置镜像的环境变量
构建自己的CentOS
编辑dockerFile
FROM centosMAINTAINER sms<223337742@qq.com>ENV MYPATH /usr/localWORKDIR $MYPATHRUN yum -y install vimRUN yum -y install net-toolsEXPOSE 80CMD echo $MYPATHCMD echo "----end----"CMD /bin/bash
根据dockerFile创建镜像
如果这个文件就叫dockerFile是可以不用声明文件名的,它会自动识别
docker build -f dockerFile文件 -t 镜像名:[tag] .ps:后面有个点是容易被遗忘的
查询镜像的所有结构
通过这个命令查看一个镜像里面一共有多少叠加的内容
docker history 镜像id
EntryPoint 和 CMD
主要体现在启动镜像时,想要追加命令的情况下
EntryPoint可以直接追加
CMD会被追加命令替换掉
构建一个Tomcat
FROM centos #MAINTAINER cheng<1204598429@qq.com>COPY README /usr/local/README #复制文件ADD jdk-8u231-linux-x64.tar.gz /usr/local/ #复制解压ADD apache-tomcat-9.0.35.tar.gz /usr/local/ #复制解压RUN yum -y install vimENV MYPATH /usr/local #设置环境变量WORKDIR $MYPATH #设置工作目录ENV JAVA_HOME /usr/local/jdk1.8.0_231 #设置环境变量ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.35 #设置环境变量ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib #设置环境变量 分隔符是:EXPOSE 8080 #设置暴露的端口CMD /usr/local/apache-tomcat-9.0.35/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.35/logs/catalina.out # 设置默认命令
上传镜像到dockerHub
docker login -u 账号 -p 密码
push
docker push 账号名/镜像名[:版本号]docker push kuangshen/tomcat:1.0
阿里云镜像服务
因为dockerHub没翻墙可能要卡,所以用阿里云镜像来加速一下
路径
容器服务 - 容器镜像服务 - 命名空间(创建一个命名空间) - 镜像仓库(创建镜像仓库)


点击仓库名字,就会有比较完善的阿里云仓库代码
小节

