docker --help
帮助命令
docker --version
docker --version
docker images
查看本地images 镜像缓存
docker images 查看本地镜像文件
docker rmi -f kibana:5.6.9 ---删除镜像文件
docker rmi tomcat(根据镜像文件名称删除)
docker images -a
docker images -q ---只显示镜像的id
docker images --digests ---显示镜像的摘要信息
docker images --no-trunc ---显示完整镜像信息
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 5 months ago 141MB
tomcat latest fb5657adc892 5 months ago 680MB
mysql latest 3218b38490ce 5 months ago 516MB
centos latest 5d0da3dc9764 8 months ago 231MB
REPOSITORY 存储库名称
Tag 镜像的标签 不写版本号码 默认下载最新latest镜像
IMAGE ID 镜像id
CREATED 创建时间
SIZE 大小
docker search
docker search mysql
![](https://i-blog.csdnimg.cn/blog_migrate/d6f1732d3d160c7912b07aeea45a1e87.png)
latest 表示为最新的镜像文件 mysql8.0版本
docker pull
latest -----tag 最新版本的镜像文件
docker pull nginx:latest --默认的情况下 下载最新版本的镜像 可以通过
https://hub.docker.com/_/nginx?tab=tags&page=1&ordering=last_updated
![](https://i-blog.csdnimg.cn/blog_migrate/25a9a6fe1f01357fc1e0213b0ece94e4.png)
下载指定版本的安装包
docker pull mysql:5.7
运行容器
docker 启动命令
docker run
-i(保持容器一直运行)
-t(给容器一个伪终端)
-d(后台运行,不直接进入容器)
--name=tomcat9.2(给启动容器起名字)
-p 8181:8080(宿主:docker容器) 前面的端口是外部访问的端口 里面的端口是程序的实际端口
tomcat:9.2(启动的容器) 【参数】(加入容器初始化命令)
#通过 -it 启动的容器有两个特点 一创建就进入容器 exit退出容器 容器就会停止运行 ---交互式容器
#通过 -id 创建的容器 docker exec -it tomcat9.2(--name起的名称)进入容器 exit退出容器
启动容器
docker start 容器id
docker restart 容器id
停止容器
docker stop 容器id
删除容器
docker rm 容器id
进入容器中
# 进入容器
# 首先使用下面的命令,查看容器ID(CONTAINER ID):
docker ps -a
# 然后用下面的命令进入容器,就可以使用bash命令浏览容器里的文件:
docker exec -it [CONTAINER ID] /bin/bash
# 有的镜像没有bash命令,可以用对应的shell,比如sh
docker exec -it [CONTAINER ID] sh
docker ps 查看正在运行的容器
docker ps -a 查看运行和已经运行关闭大的容器
docker stop tomcat 关闭容器
docker start tomcat8 启动容器
docker rm tomcat8 删除容器
docker inspect tomcat8 查看容器信息
docker exec 参数 进入容器
docker 启动tomcat
docker run -id -p 8080:8080 --restart=always tomcat
--restart=always tomcat:自动重启
关闭防火墙之后,启动docker的问题:重启docker即可
docker: Error response from daemon: driver failed programming external connectivity on endpoint festive_dhawan (beaf535e8a6c03541eb9c0618406552b68b6547d9c7b388035f6b8019985de23): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.2:8080 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)).
# 重启docker【软件】
service docker restart
dokcer进入tomcat容器
查看docker 实例id
docker ps
docker exec -it e4a0456ee174 /bin/bash #容器不会停止运行 ---守护式容器
Ctrl+D 退出
查看tomcat ROOT 默认的webapps目录下没有文件,需要进入webapps.dist中复制ROOT到webapps下面才能访问到
cp webapps.dist/* webapps
![](https://i-blog.csdnimg.cn/blog_migrate/82fb3ef857bb373381f6ed7cd5b88870.png)
docker run 运行原理
docker run tomcat
简单描述:首先会先从本地获取获取tomcat镜像文件,如果本地没有该镜像文件则会去
阿里云仓库查找该镜像文件,如果阿里云仓库也没有该镜像文件,则会报错找不到
镜像文件。获取到镜像文件之后直接运行。
每个容器都有自己独立的网络 ip信息 运行成功 就是一个轻量级linux操作系统