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 相关的镜像信息

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

 

 

 

 

posted @ 2020-11-29 02:42  变体精灵  阅读(317)  评论(0编辑  收藏  举报