在上一篇Docker拉取镜像文章中已经简单的介绍了如何拉取自己想要的Docker镜像,在这篇文章中将说明如何使用获取到的镜像

同样,在讲docker镜像的使用时,我也先简单介绍2个概念,docker 容器、docker 镜像(以下用一种通俗的比喻解释)

docker镜像:相当于windows系统下的一个软件安装包,当我们获得镜像以后其实相当于我们在windows系统下已经下载好了一个安装程序,它并不是这个应用程序的运行实例,只是一个安装包。

docker容器:这个就相当于我们运行了在windows下一个安装包后安装好的应用程序,是一个能运行的实例。值的一提的是,一个docker镜像可以生成多个docker容器映射同一台机器上的不同端口,容器之间是互相隔离的,不会互相影响,例如我linux机器下有8080和8081端口,我在产生docker容器的时候,可以指定使用linux的8080端口对应docker容器的8080端口,然后再生成另一个docker容器,使用linux的8081端口映射docker的 8080端口,接下来简单的演示一下


一、docker run命令

首先我们使用docker images命令可以查看我们本地有什么镜像,若根据上一篇文章那样操作,应该有一个tomcat镜像,如下图,有一个tomcat镜像,我们可以先只关注images id这个属性,因为关于镜像的操作基本上要用到这个属性


接下来执行”docker run -p 8088:8080 -d 72d”命令来生成docker容器,如下图,返回一段字符串的话表示命令执行成功,命令的解释:-p的作用是指定端口映射,使用本地的8088端口映射到docker容器(tomcat容器)的8080端口,-d作用是后台运行,执行完命令之后不要占用当前终端,后面的72d其实就是images id的前三位,其实这里因为没有其它镜像不会造成冲突,所以只写镜像id的前几位就可以的了,例如只写7也是可以的,此时访问http://本机IP:8088就可以访问到一个正在运行的tomcat容器的首页了


二、docker 容器的操作

前面说到,使用docker run可以产生docker容器,即一个运行实例,那么对于这个正在运行的实例我们有时需要一些其它的操作,例如停止容器、重新运行容器,删除容器,查看修改容器内部的文件信息等

首先说一下如何查看容器的相关信息

(1)docker ps命令:查看当前正在运行的容器信息,如下图,同样可以关注一下container id这个属性

(2)docker stop containerid:停止容器,这里我们可以用docker stop 3f就将刚刚的docker 容器停止,虽然docker容器已经停止了,但其生成的文件还是存在Linux本地上的,我们随时可以再次启动刚刚停止的容器,此时,如果我们再次执行docker ps会发现没有相关的容器信息,这是因为docker ps只展示正在运行的容器信息,这个时候应该使用docker ps -a命令查看所有的容器信息,这样就可以看到刚刚的3f开头的容器了

(3)docker start containerid:再次启动容器,要再次运行容器就使用docker start containerid这个命令(本例可以是docker start 3f)

(4)docker rm containerid:删除容器,这个命令可以删除不要的容器,说到删除操作,这里再提一个删除镜像的命令吧,其实镜像同样也是可以删除的,使用docker rmi imageid这个命令就可以删除镜像了

(5)docker exec -it containerid /bin/bash:进入容器,有时候我们想进入容器里面查看一些文件或修改一些文件就需要用到这个命令进入容器,如下图(3f是容器id的开头),此时我们就可以进入到tomcat容器内部,并可以执行命令操作了

(6)docker cp:在容器和主机直接传输文件

主机文件复制到容器里面(path1为主机文件路径,path2为容器内路径):docker cp path1  containerId:path2

容器文件复制到主机(path3为容器内文件路径,path4为主机路径):docker cp containerId:path3  path4


三、总结

其实关于docker的操作使用,基本的就是以上命令常用,当然还有其他的使用dockerfile自制镜像,总的来说记住分清docker的2个概念,docker镜像和docker容器,然后关注docker镜像id和docker容器id,因为操作镜像或者容器我们都是可以根据他们的id进行操作的

 

2 对 “Docker镜像的使用(三)”的想法;

发表评论

电子邮件地址不会被公开。