将应用和环境打包成一个镜像!
如果数据在容器中,那么我们容器删除,数据回丢失!
容器之间可以有一个数据共享的技术!docker 容器产生的数据,通过不到本地,这就是卷技术(目录的挂载,让我们容器内的目录,挂载到linux上)
总结:容器的持久化和同步操作!容器间可以数据共享
# 方式一之间用命令进行挂载 -v docker run -it -v 主机目录 容器内目录 #测试 docker run -it -v /home/ceshi:/home centos /bin/bash docker inspect id #查询有没有挂在上去
Dockerfile 就是用来构建docker镜像 的构建文件!命令参数脚本!
#1、编写一个dockerfile 文件 #2、 docker build 构建一个镜像 #3、docker run 运行镜像 #4、docker push发布镜像(dockerHub、阿里云镜像仓库)
基础知识:
1、每个保存关键字都是必须大写
2、执行从上到下顺序执行
3、#表示注释
4、每个指令都会创建提交一个新的镜像层,并提交!
Dockerfile是面向开发的,我们以后要发布项目,做镜像,就需要编写dockerfile文件,
docker镜像逐渐称为企业交付的标准,必须要掌握
步骤:开发,部署,上线运维
dockerfile:构建文件,定义了一切步骤,源代码
Dockerimages:通过DockerFile构建生成的镜像,最终发布和运行的产品
docker容器:容器就是镜像运行起来提供服务器
FROM #基础镜像 一切从这里开始构建 MAINTAINER #镜像是谁写的 名字+邮箱 RUN #镜像构建的时候需要运行的命令 ADD #步骤,tomcat镜像,加一个tomcat压缩包!添加内容 WORKDIR #镜像的工作目录 VOLUME #挂载的目录 EXPOSE #指定暴露端口 CMD #指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代 ENTRYPOINT #指定这个容器启动的时候要运行的命令,可以追加命令 ONBUILD #当构建一个被继承DockerFile,这个时候就会运行ONBUILD的指令 COPY #类似ADD,将我们的文件拷贝到镜像中 ENV #构建的时候设置环境变量
#一、编写DokcrFile的文件 FROM centos MAINTAINER NFSMG<2443284460@qq.com> ENV MYPATH /usr/local WORKKDIR $MYPATH RUN yum -y install vim RUN yum -y install net-tools EXPOSE 80 CMD echo $MYPATH CMD echo CMD /bin/bash #二、通过这个文件构建镜像 docker build -f 文件名 -t mycentos:版本号 #三、运行镜像 docker run