其中REPOSITORY和TAG字段分别表示镜像的名字和标签,而IMAGE ID则表示镜像的ID,CREATED和SIZE则表示该镜像的创建时间和大小。一般来说,可以通过REPOSITORY:TAG或IMAGE ID,能唯一标识某个镜像。
而通过docker rmi命令能删除本地镜像,具体语法是docker rmi 镜像名:标签,或者是docker rmi 镜像ID。比如这里能通过docker rmi ubuntu:latest或docker rmi 1d622ef86b13,能删除刚下载的ubuntu:latest镜像。
2.1 Docker容器相关的命令
镜像和容器是类似于类和对象的关系,通过实例化类,能得到对象,而通过run命令,则能运行镜像生成容器。比如通过前文的docker pull命令下载好ubuntu镜像后,就可以通过如下的run命令来启动该镜像。
1 docker run -it ubuntu:latest /bin/bash
其中通过ubuntu:latest,能指定待运行的镜像,-it表示在终端交互式操作,而/bin/bash则表示容器启动后需要执行的命令,这里是启动shell。运行上述命令后,就能在该容器里运行基于linux的命令,比如ls或pwd,运行完命令后,可以通过exit从容器交互窗口里退出来。相关的操作的效果如下图所示。
而通过docker ps命令,能看到当前所有的容器,如果要展示所有的容器,则可以加入-a参数。运行docker ps -a后,能看到如下图所示的结果。
其中STATUS表示当前容器的状态,这里是Exited,表示已退出,而且从中还能看到容器的ID以及该容器所对应的镜像。
而通过docker rm 容器ID命令,能删除指定的容器,比如能通过docker rm bc8d0ea9a1a3命令删除刚才通过run命令创建的容器,删除后再运行docker ps -a,就能确认该容器已经被删除。
2.2 用pull命令下载最新Redis镜像
可以用“docker pull redis”命令,下载最新版本的redis镜像,这里也可以用“docker pull redis:标签”的命令,下载指定版本的redis,如果不指定,则会用默认的标签latest去下载最新版本的redis镜像。运行该命令后,能看到如下图所示的效果图,从中能看到,已经成功下载了最新版本redis镜像。
随后可以用如下的run命令来运行Redis容器。
1 docker run -itd --name myFirstRedis -p 6379:6379 redis:latest
这里的-it表示在终端交互式操作,而d则表示在后台运行。通过—name能指定该容器的名字,而通过-p参数,指定了容器的6379端口映射到宿主机(即运行Docker的机器)6379端口,这样在容器外部就能以宿主机ip:6379的方式访问Redis服务,最后的redis:latest参数,则指定根据该镜像启动容器。运行完上述run命令后,再执行docker ps命令,能看到如下图所示的结果。
从中能看到,名为myFirstRedis的容器处于Up状态,并且是通过6379端口对外提供服务。
2.3 通过exec命令进入Redis容器
通过run命令,能在后台启动Redis容器,此时可以通过如下的exec命令,进入到Redis容器,进入容器后,就能执行Redis的相关操作。
1 docker exec -it myFirstRedis /bin/bash
docker exec 表示在运行的容器中执行命令, 其中myFirstRedis参数表示在哪个容器里执行命令,-it表示以终端交互的方式执行命令,而/bin/bash则表示需要指定的命令。执行上述exec命令后,就能看到如下图所示的效果,这说明已经进入了名为myFirstRedis的容器,随后在命令窗口里可以继续输入Redis命令。
在上图所示的界面里,可以继续输入redis-cli命令,连接该容器里的Redis服务器,随后可以通过set val 1命令,创建一个值的1的val变量,创建后再可以通过get val来获取val变量的值,具体效果如下图所示。
这里提到的redis-cli等命令的含义,在后文里会详细说明,但只要如果能成功地运行Redis相关命令并看到对应的结果,就能说明基于Docker的Redis开发环境已经成功地安装到本机里。随后如果要退到Windows命令行,则需要连续两次输入exit,其中通过第一个exit命令,能退出用redis-cli进入到的Redis运行窗口,而通过第二个命令,能退出因docker exec命令而进入到的Redis容器。
2.4 停止、重启和删除Redis容器
由于本书所介绍的Redis的开发和运行环境是基于Docker的,当Redis容器启动后,在修改容器配置等操作后,可能需要重启容器,并且在一些场景里,还需要停止并删除过期的Redis容器,所以在这里就将给出相关的操作步骤。
当运行docker ps,发现名为myFirstRedis的Redis容器处于Up(即运行中)状态时,可以通过docker stop myFirstRedis命令停止该容器,其中myFirstRedis是待停止的容器名。请注意这里停止的是容器,而不是Redis服务,运行后再通过docker ps,就无法再看到myFirstRedis,应为该命令只返回处于Up状态的容器,此时需要用docker ps -a命令,查看所有容器时,才能看到如下图所示的效果,从中能看到,myFirstRedis容器已经处于Exited(即退出)状态。
如果要再启动该容器,可以用docker start myFirstRedis或docker restart myFirstRedis命令,这两个命令的参数都是待启动的容器名。这两个命令的差别是,docker start会挂载容器所关联的文件系统,而docker restart不会。所以在需要重启容器时,建议先运行docker stop命令,再运行docker start命令。
如果当Redis等容器里的配置或数据过于老旧时,可以通过docker rm命令删除该容器,具体语法是docker rm 容器名,但在删除前,首先要确保该容器处于Exited状态,否则删除时会出错。
比如要删除名为myFirstRedis的Redis容器,首先要用docker stop myFirstRedis命令确保该容器处于Exited状态,随后再用docker rm myFirstRedis命令删除,删除完成后再运行docker ps -a命令查看所有状态的容器时,就无法再看到该容器了。
3 总结容器和Redis的相关命令
在上文里,给出了针对容器和Redis的若干命令,为了让大家在学习过程中不产生混淆,这里将根据流程,总结下相关的命令。
第一, 在安装完Docker软件后,可以在命令行里输入docker pull redis命令去下载最新的Redis镜像,下载完成后,能通过docker images命令来确认镜像。
第二, 可以用docker run -itd --name myFirstRedis -p 6379:6379 redis:latest命令,根据下载的redis:latest镜像创建名为myFirstRedis容器。创建完成后,能通过docker ps -a命令来查看对应的容器。
第三, 如果创建前已经有名为myFirstRedis的容器,那么如果再创建同名的容器,就会出现问题,这时可以先用docker stop myFirstRedis命令确保该容器处于Exited状态,并通过docker rm myFirstRedis命令删除该容器。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/0a09fbbf0cc4f27911762491c0289c17.jpeg)
最后
如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
13600788135)]
[外链图片转存中…(img-d2Z41Pl0-1713600788135)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!