docker学习(二)

Docker容器管理

 

 

docker run 镜像名称 这个过程可以理解为:把镜像文件创建成docker容器的一部分,然后再进行启动

 

 

容器命令

在运⾏镜像中,后⾯需要带⼀些指令的信息,这些指令的信息具体汇总为如下:

-d:后台运⾏

-it:交互式命令(bash)

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

--name:给容器起⼀个名字

-p:端⼝映射

 

 

docker container inspect 容器id

 

 

 

 

 

容器日志查看场景:

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

是的

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

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

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

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

 

 

查看日志方式:

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

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

docker logs 容器id

 

 

docker logs -f 容器id

 

 

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

docker logs containerID | tail -N

 

 容器提交

操作步骤: 1、先进入到容器里面 docker run -it --rm centos:7.8.2003 bash

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

3、查看容器的ID docker ps -a | grep centos

4、然后提交(提交期间,容器是不能退出) docker commit containerID newImageName

图解:

 

 

 

 

 

 

进入vim怎么退出:

1.进入vim,按esc

2.再按shift :

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

使用Docker部署环境流程:

1、开发编写代码完成后

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

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

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

 

 

什么是Dockerfile

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

使⽤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 #容器启动后执行的命令

 

 部署centos

1.在桌面创建一个learnDocker文件夹,在里面创建一个Dockerfile记事本(去掉.txt后缀)并保存

2.在控制台进入到learnDocker目录下,再输入docker build .构建镜像

3.docker images:查看所有镜像,找到构建的镜像id

4.docker tag 737925f1c68f centos_a:修改镜像名称

5.docker run --rm -it centos_a bash:运行这个镜像

 

 

 

 

 

 

部署Nginx

下⾯显示部署nginx的服务,期望部署是启动容器后,可以访问它的地址显示的信息。涉及到的nginx的Dockerfile 的⽂件内容为:

FROM nginx

MAINTAINER 段舒元

RUN echo "Hi, This Is A Docker Continer WebSite" > /usr/share/nginx/html/index.html

EXPOSE 80

 

 

 部署完成以后重新打开一个控制台,验证nginx服务可运行,输入命令:curl http://localhost:80

 

 

 

curl: 发送网络请求

 

当端口被占用时:

 

posted @ 2022-05-07 18:58  段舒元  阅读(63)  评论(0)    收藏  举报