一、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 相关的镜像信息
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、利用镜像启动容器
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、查看容器启动状态
docker ps -a
3、关闭容器(docker stop 容器ID / NAMES)
// 方式一
docker stop mytomcat
方式二
docker stop 92a58e8acbe8
停止之后,可以看到状态栏显示的是 Exited
4、根据容器 ID 或者 NAMES 启动容器
// 方式一
docker start mytomcat
方式二
docker start 92a58e8acbe8
启动成功之后,状态栏显示的是 Up
5、删除容器
在删除容器之前,必须要先将容器关闭,只有关闭成功之后才可以将容器进行删除操作
docker rm 容器id
docker rm 容器名称
6、查看日志
docker logs 容器ID
docker logs 容器名称
7、更多的 Docker 命令
// 方式一
https://docs.docker.com/engine/reference/commandline/docker/
// 方式二
可以在 https://hub.docker.com/ 上参考每一个镜像的文档
三、Docker 启动 mysql
1、启动 mysql 需要 -e 参数指定密码,否则会报错
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