Docker 常用命令及操作
一、Docker 常用命令
操作 | 命令 | 说明 |
检索 | docker search 关键字 | 去官网上搜索镜像的详细信息,例如:docker search redis 就是去官网上检索 redis 的所有镜像的信息 |
拉取 | docker pull 镜像名[:tag] | tag 代表标签的意思,:tag 参数是可选的,如果不适用 :tag 参数,默认拉取的 tag 就是 latest 版本 |
列表 | docker images | 查看本地所有镜像列表 |
删除 | docker rmi imageId | 根据镜像 ID 删除指定的镜像 |
1、docker search 镜像名
我们这里以 mysql 为例,这里就是要从官网搜索与 mysql 相关的镜像信息
1 | docker search mysql |
搜索出来的信息如下,我们解释一下每一项的大致意思
NAME:镜像的名称
DESCRIPTION:镜像的描述信息
STARS:热门指数
OFFICIAL:是否是官方正式版本(主体功能存在,但是扩展的需要自己配置)
AUTOMATED:是否是自动化版本(已经配置好了的,拿过来就可以用的)
我们使用 docker search mysql 可以拉取到我们需要的镜像的信息,那么这些镜像信息是从哪里来的呢?
登录 docker hub官网:https://hub.docker.com/ ,输入关键字 mysql ,对比这两张图,是不是发现内容都是一样的呢,不错 docker search 关键字 就是从 docker hub 官网检索的相关信息
2、docker pull
进入官网---->找到 mysql ---->点击 mysql---->tags
这里会列出所有的 tags(标签) 可以把它理解为版本号
docker pull mysql 代表拉取的是标签为 latest 版本的 mysql 镜像
docker pull mysql:8.0.22 代表拉取的是标签为 8.0.22 版本的 mysql 镜像
如下图,如果拉取结束之后得到一个摘要值(Digest)、Status 显示最新的镜像就代表拉取镜像成功了,你也可以通过 docker images 查看一下是否拉取成功了
3、docker images
查看本地所有镜像
4、docker rmi imageId
根据镜像 ID 删除本地镜像
docker images 和 docker rmi imageId 这两个命令放在一起演示,具体的如下:
如上图,我们使用 docker images 命令可以查看我本地的所有镜像,我们这里假设要删除 mysql 8.022 这个镜像,使用 docker rmi image的 id 命令便可以删除本地的镜像了
删除完了镜像之后,我们再次使用 docker images 发现,刚刚 mysql 8.0.22 的镜像确实删除了,只剩下一个 tomcat 的镜像了
二、Docker 容器常用操作命令
我们这里以 tomcat 来演示
1、利用镜像启动容器
1 | docker run -d -p 8088 : 8080 --name mytomcat tomcat: 9.0 . 40 -jdk8-adoptopenjdk-hotspot |
-d:后台启动
-p 8088:8080 : 将 Linux 主机的 8088 端口映射到 tomcat 容器的端口 8080,我们以后只需要根据 http://Linux 主机ip:8088 就能访问到 tomcat 容器的 8080 端口了
--name:为该 tomcat 容器起一个名字
tomcat:9.0.40-jdk8-adoptopenjdk-hotspot : 对应的是 REPOSITORY:TAG
2、查看容器启动状态
1 | docker ps -a |
3、关闭容器(docker stop 容器ID / NAMES)
1 2 3 4 | // 方式一 docker stop mytomcat 方式二 docker stop 92a58e8acbe8 |
停止之后,可以看到状态栏显示的是 Exited
4、根据容器 ID 或者 NAMES 启动容器
1 2 3 4 | // 方式一 docker start mytomcat 方式二 docker start 92a58e8acbe8 |
启动成功之后,状态栏显示的是 Up
5、删除容器
在删除容器之前,必须要先将容器关闭,只有关闭成功之后才可以将容器进行删除操作
1 2 | docker rm 容器id docker rm 容器名称 |
6、查看日志
1 2 | docker logs 容器ID docker logs 容器名称 |
7、更多的 Docker 命令
1 2 3 4 | // 方式一 https: //docs.docker.com/engine/reference/commandline/docker/ // 方式二 可以在 https: //hub.docker.com/ 上参考每一个镜像的文档 |
三、Docker 启动 mysql
1、启动 mysql 需要 -e 参数指定密码,否则会报错
1 | docker run -d -p 3308 : 3306 --name hellomysql -e MYSQL_ROOT_PASSWORD= 123456 mysql: 8.0 . 22 |
2、使用 sqlyog 测试连接
ip 为 Linux 注解 IP
端口为你自己设置的映射的端口,我这里是 3308
如果使用的是 mysql8.x 版本出现了 2058 的错误,可以参考这篇博客 https://www.cnblogs.com/xiaomaomao/p/14055265.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?