Dockerfile实战 环境部署基本流程 部署nginx环境 部署python环境 安装rabbitmq
Dockerfile概述
使⽤dockerfile主要是⽤于构建docker镜像⽂件信息,相当于⼀个脚本,通过dockerfile⾃⼰的指令,来构建软件依赖,⽂件依赖,存储等等情况。
Dockerfile使⽤
在docker中创建镜像可以分为两个⽅法,这两个⽅法具体可以总结为如下:⼿动修改容器内容,然后docker commit提交容器为新的镜像⽂件通过在dockerfile中定义⼀系列的命令和参数构成的脚本,然后这些命令应⽤于基础镜像,依次添加层,最终⽣成⼀个新的镜像,这样就极⼤的简化了部署的⼯作。
Dockerfile组成部分
dockerfile的主要组成部分可以汇总为:基础镜像信息制作镜像操作指令 RUM容器启动时执⾏指令CMD["/bin/bash"]
Dockerfile指令
Dockerfile基本指令
dockerfile的指令主要可以汇总为如下,使⽤dockerfile的前提是学习会这些指令的基本使⽤,具体如下:
FROM #指令基础镜像
MAINTAINER #指定维护者信息,也可以没有
RUN #具体执⾏的操作,在命令前⾯加上RUN即可
ADD #COPY⽂件,会⾃动进⾏解压
WORKDIR #设置当前⼯作⽬录
VOLUME #设置卷,挂载主机⽬录
EXPOSE #指定对外的端⼝
CMD #指定容器启动后需要⼲的事情
COPY #复制⽂件
ENV #环境变量
ENIRYPOINT #容器启动后执⾏的命令
Dockerfile⼊⻔
初玩Dockerfile
容器能够运⾏的前提是必须在容器内,有⼀个进程在前台运⾏,该容器内,⽐如是MySQL,那么也就是说有MySQL正在前台运⾏。下⾯演示⼀个Linux中调⽤变量的案例应⽤,具体Dockerfile⽂件信息如下所示:
FROM centos:7.8.2003
MAINTAINER 无涯
#定义一个变量,变量的值是Docker
ENV name Docker
#运行程序,输出变量的值
ENTRYPOINT echo "Hello $name"
操作的具体步骤如下:
1.在本地创建一个learnDocker的文件夹
2.在文件夹里面创建一个Dockerfiled的文件(去掉他的后缀txt就行)
3.写入Dockerfile的文件内容,保存
4.构建Dockerfile文件信息
5.验证运行镜像
1.
2.
3.
4.
关于Docker的其他命令
登录Docker Hub docker login
第一次需要输入账号密码,后面就不需要了
查看docker 版本
docker version
构建安全组件
1.docker scan 扫描镜像漏洞
2.docker login 登录Docker Hub
3.构建安全组件
docker build -t centos_name(指定构建镜像名称) -f Dockerfile(指定Dockerfile文件)
环境部署基本流程:
分为两种情况:
1.开发编写代码完成后打包成一个jar包,需要测试自己来搭建环境
2.开发将环境搭建完成,将镜像导出给测试,测试需要导入运行验证即可
下面我们来详细说明第一种情况的解决思路以及具体步骤:
解决思路:
1.下载开发编写代码后打包的jar包,放在learnDocker目录下
(必须和Dockerfile在同一个目录下)
2.在learnDocker新建Dockerfile文件(没有后缀txt)保存
3.打开控制台,根据Dockerfile文件信息构建镜像
4.使用docker images 查看构建成功的镜像信息
5.docker run --rm -p(指定运行端口):8081:8081 app
6.开始测试检验
7.打开浏览器地址(http://localhost:8081/testdev)
8.成功的话显示内容(测试开发工程师)
具体步骤如下:
(1)下载开发编写代码后打包的jar包,放在learnDocker目录下
(2)在learnDocker新建Dockerfile文件(没有后缀txt)保存
(3)打开控制台,根据Dockerfile文件信息构建镜像
构建镜像的命令为docker build -t app(指定镜像名称) -f Dockerfile(指定Dockerfile文件) .(点表示当前路径)
(4)使用docker images 查看构建成功的镜像信息
(5)docker run --rm -p(指定运行端口):8081:8081 app 出现下面的画面,说明环境部署已经成功
(6)开始测试检验
(7)打开浏览器地址(http://localhost:8081/testdev)
(8)成功的话显示内容(测试开发工程师)
不论是部署nginx或者部署python环境,都遵循Docker环境部署的基本流程,都属于Docker实战的范畴
部署nginx 环境
1.接收开发编写的代码,放在learnDocker的目录下
2.在learnDocker新建Dockerfile文件(没有后缀),保存
3.打开控制台,根据Dockerfile的文件信息构建镜像(一般Dockerfile文件的前两行会指定部署的容器,这时候如果本地存在,就用本地的,如果不存在,就会从Docker Hub中进行下载)
4.使用docker images 查看构建成功的镜像
5.docker run --rm -p80:80 nginx
6.开始测试检验
7.打开浏览器地址(http://localhost:80)
8.成功的话会显示(Hi,This is A Docker Continer Website)
具体步骤如下:
1.
2.构建镜像
3.查看构建的镜像
4.运行镜像
5.测试检验
不论是部署nginx或者部署python环境,都遵循Docker环境部署的基本流程,都属于Docker实战的范畴
部署python环境
1.接收开发编写的代码(app.py)(需要处理一下代码,),放在learnDocker的目录下
2.在learnDocker新建Dockerfile文件(没有后缀),保存
3.打开控制台,根据Dockerfile的文件信息构建镜像(一般Dockerfile文件的前两行会指定部署的容器,这时候如果本地存在,就用本地的,如果不存在,就会从Docker Hub中进行下载)
4.使用docker images 查看构建成功的镜像(python_web)
5.docker run --rm -p5000:5000 python_web
6.开始测试检验
7.打开浏览器地址(http://192.168.0.102.5000/v1/api/books),这里需要自己的局域网IP地址
8.成功的话会显示对应内容
具体步骤如下:
1.
2.对代码进行处理(host=0.0.0.0 表示所有的局域网都可以访问)
处理前:
处理后:
3.根据Dockerfile的信息文件构建python的镜像,镜像名称为python_web
命令为:docker build -t python_web -f Dockerfile .
4.构建成功后docker images 查看构建的镜像
5.运行镜像
6.测试验证
使用Docker来安装RabbitMQ
1.安装命令为:
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management
2.安装成功后docker port rabbitmq 获取他的端口
3.谷歌浏览器地址为(http://localhost:15672/) 打开网站,成功后如下所示:
登录账号:guest
密码:guest