5月7
docker run 镜像名称 这个过程可以理解为:把镜像文件创建成docker容器的一部分,然后再进行启动
--d:后台运行
-it:交互式命令
--rm:容器挂掉后自动删除
--name:给容器起一个名字
-p:端口映射
容器日志查看场景:
假设别人问,你们之前是使用Docker来部署环境吗?
是的
那如果被测试的程序出问题了,你的日志是在哪里看的,怎么反馈给开发的
1.获取到程序运行的容器ID
2.通过docker logs 容器ID来查看错误的日志
3.日志信息获取成功后,发送给开发
查看日志方式
1.一种是查看动态的日志(日志在实时的更新,一直查看到最后的日志信息)
2.一种是查看静态的日志(把日志文件下载下来,打开查看)
docker logs imageID
-f
当日志内容很多的时候,只想查看最后的N行
docker log containerID | tail-N
容器提交
docker commit imageID 别名
操作步骤:
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组成部分
dockerfile的主要组成部分可以汇总为:
• 基础镜像信息
• 制作镜像操作指令 RUM
• 容器启动时执行指令CMD["/bin/bash"]
Dockerfile基本指令
dockerfile的指令主要可以汇总为如下,使用dockerfile的前提是学习会这些指令的基本使用,具体如下:
• FROM #指令基础镜像
• MAINTAINER #指定维护者信息,也可以没有
• RUN #具体执行的操作,在命令前面加上RUN即可
• ADD #COPY文件,会自动进行解压
• WORKDIR #设置当前工作目录
• VOLUME #设置卷,挂载主机目录
• EXPOSE #指定对外的端口
• CMD #指定容器启动后需要干的事情
• COPY #复制文件
• ENV #环境变量
• ENTRYPOINT #容器启动后执行的命令
桌面创建一个文件夹名字叫:learnDocker 然后里面创建一个文件 Dockerfile 里面写入
#获取centos的镜像,版本7.8.2003
FROM centos:7.8.2003
MAINTAINER 无涯
#定义一个变量
ENV name Docker
ENTRYPOINT echo "Hello $name"
然后运行:
然后查看
最后输出
nginx
桌面创建一个文件夹名字叫:learnDocker 然后里面创建一个文件 Dockerfile 里面写入
然后查看
运行
随后重新打开一个控制台进行输出
netstat -ano | findstr 80:查看80端口是否被占用