Docker5.7

Docker容器管理

docker run 镜像名称

这个是指把文件创建成docker容器的一部分,然后进行启动

注意:容器内的进程必须是前台运行状态,负责容器直接退出

运行docker的镜像信息:

docker run -it --rm  centos:7.8.2003 bash

查看运行的docker镜像的容器记录信息

docker ps -a | findstr centos

 查看容器的详细记录信息

docker container inspect  容器id

 容器日志的查看

容器日志查看场景

1、假设别人问,你们之前是使用Docker来部署环境吗?

是的

2、那如果被测试的程序出问题了你日志是在哪里查看的,怎么反馈给开发的

(1)获取到程序运行的容器id

(2)通过docker logs 容器id来查看错误的日志

(3)日志信息获取成功后,发送给开发

查看日志的方式:

1、一种是查看动态的日志(日志在实时的更新,一直查看最后的日志信息)

2、一种是查看静态的日志(把日志文件下载下来,打开查看)

动态方式演练:

实时更新

 静态方式演练:

1、这个是首先在容器里操作了

2、其次在日志文件中查询---  不然直接到日志文件中是查不到的

 当日志内容很多的时候,只想看最后的N行

docker logs containerID | tail-N                      ---这个是适用与linux

容器的提交

容器提交的原因:

在一个容器里面,比如centos里面安装了vim的编辑器,如果没有进行提交,那么下次进入还需要安装vim的编辑器,这其实是非常不好的,我们想要的是一个容器里面安装对应的应用程序后,下次进入还是存在的,但是前提条件是需要提交

操作步骤:

1、先进入到容器里面

docker run -it --rm centos:7.8.2003 bash

2、在容器里面安装第三方的软件

yum install vim

3、查看容器的ID

docker ps -a | findstr centos

4、然后提交

注意:提交期间,容器是不能退出的

docker commit containerID newImageName

5、退出centos容器

6、查看镜像信息,就会显示最新提交的centos_vim

6、运行进⼊到容器centos_vim,就会显示出vim的编辑器  

7、进入vim

注意:进入vim怎么退出:

1.进入vim,按esc

2.再按shift :

3.再输入q!,按下回车键

 Docker部署

使用Docker部署环境流程:

1、开发编写代码完成后

2、开发编写Dockerfile文件 来构成镜像

3、然后使用docker run来启动镜像,也就是容器

4、通过如上步骤就可以完成环境部署,测试可以开始测试

什么是Dockerfile?

其实可以把它提交为操作Docker一系列命令的集合

Dockerfile组成部分

dockerfile的主要组成部分可以汇总为:

• 基础镜像信息

• 制作镜像操作指令 RUM

• 容器启动时执行指令CMD["/bin/bash"]

Dockerfile基本指令

dockerfile的指令主要可以汇总为如下,使用dockerfile的前提是学习会这些指令的基本使用,具体如下:

• FROM #指令基础镜像

• MAINTAINER #指定维护者信息,也可以没有

• RUN #具体执行的操作,在命令前面加上RUN即可

• ADD #COPY文件,会自动进行解压

• WORKDIR #设置当前工作目录

• VOLUME #设置卷,挂载主机目录

• EXPOSE #指定对外的端口

• CMD #指定容器启动后需要干的事情

• COPY #复制文件

• ENV #环境变量

• ENTRYPOINT #容器启动后执行的命令

部署Nginx

期望部署是启动容器后,可以访问它的地址显示的信息.

前提条件:

1、给桌面创建一个learnDocker文件夹

2、在给这个文件里面创建一个Dockerfile 文件

注意:这个文件名称必须是Dockerfile  不可更改,并且是唯一的 (这里可以创建一个txt文件写入数据,之后把txt后缀删除即可)

 

 3、控制台进入到这个唯一的文件存在的文件夹

部署步骤:

1、构建镜像

docker build .

2、查询镜像 

(重点是看构建是否成功)

docker images

3、运行镜像

这个可以通过id或者name运行

(如果是name  这个可以在不清楚名称的情况下可以通过tag修改名称)

 

 4、再打开一个窗口

验证上述部署是否成功

 

关于端口占用的解决方法:

如果端口被占用,请重新打开一个控制台输入(80端口为例)

1、查看下是哪个占用的

netstat -ano | findstr "80"

 

 2、查看下这个程序

tasklist | findstr "18960"

3、查看下运行的容器

docker ps -a

4、通过id 停止运行

docker stop e0d06cf85bf3

5、删除这个容器

docker rm e0d06cf85bf3

 

 容器命令

在运行镜像中,后面需要带一些指令的信息,这些指令的信息具体汇总为

-d 后台运行

-it 交互式命令(bash)

--rm:容器挂掉后自动被删除

--name 给容器起一个名字

-p 端口映射

posted @ 2022-05-07 18:02  净植  阅读(69)  评论(0)    收藏  举报