一、镜像操作
操 作 | 命令 | 说明 |
检 索 |
docker search 关键字 eg:docker search redis |
我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。 |
拉 取 | docker pull 镜像名:tag | :tag是可选的,tag表示标签,多为软件的版本,默认 是latest |
列 表 | docker images | 查看所有本地镜像 |
删 除 | docker rmi image-id | 删除指定的本地镜像 |
1、检索
启动 Docker服务,使用命令检索 MySQL
1 2 | systemctl start docker docker search mysql |
示例:
2、拉取
使用命令拉取 MySQL 镜像
1 | docker pull mysql |
示例:
使用标签版本号进行下载:
1 | docker pull mysql:5.5 |
3、查看本地所有镜像
1 | docker images |
示例:
4、删除本地镜像
1 | docker rmi d404d78aa79 |
示例:
二、容器操作
软件镜像(QQ安装程序)----运行镜像----产生一个容器(正在运行的软件,运行的QQ);
1、搜索镜像
1 | docker search tomcat |
示例:
2、拉取镜像
1 | docker pull tomcat |
示例:
3、根据镜像启动容器
1 2 | docker run --name 自定义容器名 -d tomcat:latest docker run --name myTomcat -d tomcat:latest |
示例:
4、查看运行中的容器
5、停止运行中的容器
1 | docker stop 容器的ID |
示例:
6、查看所有的容器
7、启动容器
1 | docker start 容器的ID |
示例:
8、删除一个容器
删除的容器一定要属于停止的状态:
1 | docker rm 容器的ID |
示例:
9、启动一个做了端口映射的 tomcat
1 2 3 4 | docker run --name myTomcat -d -p 8888:8080 tomcat -d:表示后台运行 -p:将主机的端口映射到容器的一个端口 主机端口:容器内部的端口 |
示例:
10、为了演示简单关闭 linux 的防火墙
1 2 | service firewalld status ;查看防火墙状态 service firewalld stop:关闭防火墙 |
11、查看容器的日志
1 | docker logs container‐name /container ‐ id |
12、更多命令参考
https://docs.docker.com/engine/reference/commandline/docker/
三、遇到的问题
1、拉取 Tomcat 镜像
1 | docker pull tomcat |
2、启动tomcat容器,并进行端口映射
docker run --name myTomcat -d -p 8888:8080 tomcat
4、保证虚拟机开放 8888 端口或者关闭防火墙
1 2 | service firewalld stop:关闭防火墙 service firewalld status ;查看防火墙状态 |
通过宿主访问虚拟机 8888 端口,显示404报错信息
5、进入Docker安装的 Tomcat容器
1 | docker exec -it 容器名称 /bin/bash |
我们发现webapps目录下是空,按理说,这里面应该是有一些默认配置的,查阅相关资料,发现docker tomcat 默认webapps里面是没有任何东西,如果里面的默认配置,我们可以这样做:
在此目录中还有一个webapps.dist 文件夹,这里面装载的就是我们tomcat默认资源文件,所有我们将webapps.dist里面的文件全部复制到webapps目录即可。
1 | cp -r webapps.dist/. webapps |
6、退出 Tomcat 容器
1 | exit |
7、再次请求
然后,刷新网页,即可看到正常的tomcat默认页面。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2019-12-18 计算机字符编码