8.10 Docker(3)
作者:互联网
Docker(3)
在企业案例中,我们往往打包成⼀个镜像后,就会打包,然后把它发送给其他的同学来使⽤。那么在本案例中,我 主要包⼀个hello-word的镜像,然后再在另外⼀个docker的导⼊和执⾏。 镜像导⼊导出的场景:异地的办公模式,那么场景就是:异地的开发同学写完代码后,然后把⾃⼰的应⽤程序打包成镜像,打包成镜像后,发送给测试同学,测试同学运⾏镜像(前提是把镜像导⼊中docker中),镜像运⾏成功后,等于环境部署成功,可以测试通许可以开始测试了。
导出、导入镜像
将hello-world导出到桌面
删除原本的hello-world,将本地桌面的重新导入
容器管理
docker run 镜像名称 这个过程可以理解为:把镜像文件创建成docker容器的一部分,然后再进行启动。特别需要注意的是:容器内的进程必须是前台运行状态,否则容器直接退出
容器命令
在运行镜像中,后面需要带一些指令的信息,这些指令的信息具体汇总为如下:
-d:后台运行
-it:交互式命令(bash)
--rm:容器挂掉后自动被删除
--name:给容器起一个名字
-p:端口映射
-P:指定任意的端口
容器信息查看
⼀个容器执⾏后,我们可以使⽤如下的指令查看容器的详细信息,具体指令为:docker ps -a
log查看
在docker容器中,查看容器的⽇志信息的命令为: docker logs -f
下⾯详细的演示下这部分的使⽤,具体为:
查看最新的20条
容器提交
在⼀个容器里面,⽐如centos⾥⾯安装了curl,如果没进⾏提交,那么下次进⼊还需要curl,这其实是⾮常不友好的,我们更加想要的是⼀个容器⾥⾯安装对应的应⽤程序后,下次进⼊还是存在的,但是前提条件是需要提交,下⾯详细的演示下这部分的应⽤,具体步骤如下:
运行容器centos:7.8.2003并安装curl
可发送百度请求
提交
可在新提交的镜像运行后使用curl功能
原镜像centos:7.8.2003退出后不可使用curl功能
容器停止&启动
容器运⾏后,可以启动容器,也是可以停⽌容器,以及查看容器的端⼝信息,下⾯还是以nginx的镜像信息为案 例,来演示下这部分。
运行镜像nginx
查看信息
查看容器端口
停止容器
启动会仍可查看端口
Dockerfile
使用dockerfile主要是用于构建docker镜像文件信息,相当于一个脚本,通过dockerfile自己的指令,来构建软件依赖,文件依赖,存储等等情况。
Dockerfile组成部分
dockerfile的主要组成部分可以汇总为: • 基础镜像信息 • 制作镜像操作指令 RUM • 容器启动时执行指令CMD["/bin/bash"]
Dockerfile基本指令
dockerfile的指令主要可以汇总为如下,使用dockerfile的前提是学习会这些指令的基本使用,具体如下:
• FROM #指令基础镜像
• MAINTAINER #指定维护者信息,也可以没有
• RUN #具体执行的操作,在命令前面加上RUN即可
• ADD #COPY文件,会自动进行解压
• WORKDIR #设置当前工作目录
• VOLUME #设置卷,挂载主机目录
• EXPOSE #指定对外的端口
• CMD #指定容器启动后需要干的事情
• COPY #复制文件
• ENV #环境变量
• ENTRYPOINT #容器启动后执行的命令
实战
一、first_lk
编写镜像shell脚本
构建镜像
查看镜像的信息
运行镜像并输出结果
注意事项
1、docker scan 输⼊命令后,再输⼊y
2、登录到docker hub的账户 docker login 输⼊后,输⼊docker hub的账 户和密码
3、再次开始构建镜像 docker build -t centos_name -f Dockerfile .
解决⽅案https://www.cloudsavvyit.com/11176/how-to-use-docker-scan-to-find-vulnerabilities-in-your-images/
解决错误问题: => [internal] load build definition from Dockerfile
二、部署Nginx
下⾯显示部署nginx的服务,期望部署是启动容器后,可以访问它的地址显示的信息。涉及到的nginx的Dockerfile 的⽂件内容为:
下来开始构建该Dockerfile的⽂件,主要信息如下:
查看website镜像的信息
运行website镜像
浏览器运行结果:http://localhost:80
也可在postman获取响应数据
标签:容器,查看,8.10,指令,镜像,Docker,Dockerfile,docker 来源: https://www.cnblogs.com/likaiEndfate/p/16573637.html