8.10 Docker(3)

时间:2022-08-10
本文章向大家介绍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获取响应数据

原文地址:https://www.cnblogs.com/likaiEndfate/p/16573637.html