docker学习笔记 ---每特教育
docker命令
1.docker images 镜像缓存
docker images 镜像缓存
REPOSITORY 存储库名称
Tag 镜像的标签 不写版本号码 默认下载最新latest镜像
IMAGE ID 镜像id
CREATED 创建时间
SIZE 大小
docker images 查看本地镜像文件
docker rmi -f kibana:5.6.9 ---删除镜像文件
docker images -a
docker images -q ---只显示镜像的id
docker images --digests ---显示镜像的摘要信息
docker images --no-trunc ---显示完整镜像信息
docker rmi tomcat(镜像文件名称)
2.docker search
docker search mysql
https://hub.docker.com/
docker search -s 30 mysql 列出点赞数超过30以上。
latest 表示为最新的镜像文件 mysql8.0版本
3.docker pull
latest -----tag 最新版本的镜像文件
docker pull nginx:latest --默认的情况下 下载最新版本的镜像 可以通过
https://hub.docker.com/_/nginx?tab=tags&page=1&ordering=last_updated
下载:
tomcat安装包大小在50-80M之间
为什么size大小差别太大?
Tomcat运行时,依赖于,服务器,jdk,加起来比较大了
4.docker run
docker run
-i(保持容器一直运行)
-t(给容器一个伪终端)-d(后台运行,不直接进入容器) --name=tomcat9.2(给启动容器起名字)-p 8080:8080(宿主:docker容器)tomcat:9.2(启动的容器) 【参数】(加入容器初始化命令)
#通过 -it 启动的容器有两个特点 一创建就进入容器 exit退出容器 容器就会停止运行 ---交互式容器
#通过 -id 创建的容器 docker exec -it tomcat9.2(--name起的名称)进入容器 exit退出容器 容器不会停止运行 ---守护式容器
docker ps 查看正在运行的容器
docker ps -a 查看运行和已经运行关闭大的容器
docker stop tomcat8 关闭容器
docker start tomcat8 启动容器
docker rm tomcat8 删除容器
docker inspect tomcat8 查看容器信息
docker exec 参数 进入容器z
运行原理:
docker run mayikt
简单描述:首先会先从本地获取获取mayikt镜像文件,如果本地没有该镜像文件则会去
阿里云仓库查找该镜像文件,如果阿里云仓库也没有该镜像文件,则会报错找不到镜像文件。
获取到镜像文件之后直接运行。
详细描述:
1.docker在本机缓存中 mayikt镜像文件,如果本地存在该镜像文件,则以该镜像文件作为模板在容器中运行。
2.如果本地缓存中,没有mayikt镜像文件 则会从dockerhub 或者加速镜像中查找,如果查找不到的话,则返回错误找不到该镜像。
3.如果能够查找到该镜像,则以该镜像作为模板运行。
删除掉所有的镜像文件,然后执行
可以看到,端口号是8080
重新打开一个窗口
之后可以进入到容器中
如下代码:从第五行开始:
这样就进入了容器中
ls 命令 可以看到里面的内容
容器也可以看到ip 信息
进入到 容器中,外部是访问不了的
重新打开一个窗口。访问
但如果进入在容器中,确是可以的
外部与容器内部压根就不在一个网段,不做映射不会访问成功
每个容器都有自己独立的网络 ip信息 运行成功 就是一个轻量级linux操作系统
启动容器:docker start 容器id
停止容器:docker stop 容器id
删除容器:docker rm 容器id
进入容器中:
# 首先使用下面的命令,查看容器ID(CONTAINER ID):
docker ps -a
# 然后用下面的命令进入容器,就可以使用bash命令浏览容器里的文件:
docker exec -it [CONTAINER ID] bash
# 有的镜像没有bash命令,可以用对应的shell,比如sh
docker exec -it [CONTAINER ID] sh
查看容器信息:
Docker ps 获取到容器id
docker inspect 1e07cc5cc78d(当前正在运行的id)
网关为:172.17.0.1
ip为:172.17.0.2
5.docker commit
主要作用:根据当前容器制作为镜像文件
流程:
1. 从docker hub中下载一个tomcat8镜像文件;
2. 运行tomcat8镜像文件 在tomcatwebapps 目录中新增 mayikt文件夹 index.html
3. 将当前容器内容根据模板制作为镜像文件
docker commit提交容器副本使之成为一个新的镜像
命令:docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]
1. 安装一个tomcat8
docker run -p 8081:8080 tomcat:8
2. docker exec -it 3a06b4c779a8 bash
3. cd webapps
4. mkdir mayikt
5. touch index.html
6. echo "mayikt" >>index.html
docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]
1.根据当前容器作为模板制作为镜像文件
docker commit -m="mayikt tomcat" -a="mayikt" 3a06b4c779a8 mayikt-tomcat:1.0
2.在以当前自己制作的镜像文件运行
docker run -p 8088:8080 mayikt-tomcat:1.0
docker stop $(docker ps -q) & docker rm $(docker ps -aq) ---删除所有的容器
没删除干净的,再继续执行
docker stop $(docker ps -q) & docker rm $(docker ps -aq) ---删除所有的容器