docker基本使用

帮助命令

①docker version:查看 Docker 客户端和服务的版本。

②docker info:查看 Docker 的基本信息,如有多少容器、多少镜像、Docker 根目录等等。

③docker --help:查看 Docker 的帮助信息,这个命令可以查看所有 Docker 支持的命令~

 

镜像命令

①docker images

查看本地主机上所有的镜像。

注意是本地主机的!这里能看到镜像的名称、版本、id、大小等基本信息,注意这里的 imageID 是镜像的唯一标识!

②docker rmi:删除本地的镜像,如下图所示,可以加上 -f 参数进行强制

③docker search:根据镜像名称搜索远程仓库中的镜像!

 

④docker pull:

搜索到某个镜像之后就可以从远程拉取镜像啦,有点类似咱们 Git 中的 Pull 命令,当然对应的还有个 dockerpush 的命令。

如上图,如果我们没有指定 Tag,默认就会拉取 Latest 版本,也可以通过 docker pull tomcat:1.7 的方式拉取指定版本!

注意这里在拉取镜像的时候打印出来的信息有很多,这也是前面说到的镜像是一层套一层,拉取一个镜像也是一层一层的拉取!

 

容器命令

通过镜像命令我们就能获取镜像、删除镜像等操作啦!

镜像有了下面自然就需要通过镜像创建对应的实例啦,也就是我们的容器。下面我们以 Tomcat 为例:

①docker run [OPTIONS] IMAGE [COMMAND] [ARG...]:

可以基于某个镜像运行一个容器,如果本地有指定的镜像则使用本地镜像,如果没有则从远程拉取对应的镜像然后启动!

由于这个命令非常重要,所以下面列出几个比较重要的参数:  

  -d:启动容器,并且后台运行(Docker 容器后台运行,就必须要有一个前台进程,容器运行的命令如果不是一直挂起的命令,容器启动后就会自动退出)。     

  -i:以交互模式运行容器,通常与 -t 同时使用。

  -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用(容器启动后进入到容器内部的命令窗口)。

  -P:随机端口映射,容器内部端口随机映射到主机的高端口。

  -p:指定端口映射,格式为:主机(宿主)端口:容器端口。

  -v:建立宿主机与容器目录的同步。

  --name="myTomcat":为容器指定一个名称(如果不指定,则有个随机的名字)

上面我通过命令启动了一个 Tomcat 的容器,由于使用了 -t 的参数,所以容器启动后就进入到了容器的内部的命令窗口,打印了很多 Tomcat 启动的日志。

并且使用 -p 参数指定了端口映射,也就是容器内 Tomcat 运行的端口是 8080,并且映射到了宿主机上的 8888 端口,

这样我们在外部就可以通过服务器的 ip+8888 端口访问到我们容器内部 Tomcat 部署的服务了。

前面我们提到过容器内的数据会随着容器的关闭而丢失。

那我们就需要有容器数据卷的技术能将容器内的数据持久化到宿主机。这里需要用到 -v 参数!

 

 

 

这里第一个要注意的是我们用的 -d 参数,启动后没有进入到容器内部,还是在宿主机。(可以对比一下与上面 -it 参数的区别)

第二个要注意的是 -v /宿主机:/容器内目录实现了宿主机与容器内指定目录的数据同步!

容器启动后就可以使用 Linux 的 ll 命令查看宿主机上已经同步到了容器内的文件。

第三个要注意的是这里的同步是双向的,也就是说在宿主机上对文件的修改也会同步到容器内部!

多个不同的容器映射到宿主机的同一个目录,就可以实现不同容器间的数据共享啦!

 

②进入到容器后可以通过 exit 命令退出容器,也可以通过 Ctrl+P+Q 快捷键退出容器,

这两种方式的不同之处是 exit 会退出并且关闭容器,而 Ctrl+P+Q 快捷键只是单纯的退出,容器还在运行,并且还能再次进入!

③docker ps:

我们可以通过该命令查看正在运行的容器的信息,这里能看到容器的唯一 id,启动时间等等...

这里跟 Linux 的 ps 命令类似,所以也可以把容器理解为一个运行在 Docker 上的进程!

docker ps -a 可以查看运行中与停止的所有容器:

 

 

 ④docker attach [OPTIONS] CONTAINER:

上面说过通过 Ctrl+P+Q 快捷键退出容器后容器还在后台运行,那如果想再次进入容器怎么办呢?我们就可以通过 attach 命令+容器的 id 再次进入容器!

⑤docker exec [OPTIONS] CONTAINER:

这个命令与 attach 一样都可以再次进入后台运行的容器,但是该命令可以不进入容器而在运行的容器中执行命令!比 attach 更加强大!

⑥docker stop、docker kill、docker restart:

这三个命令分别用来停止容器、强制停止容器和重启容器,就跟我们在 Linux 上停止、强制停止和重启某个进程一样的啦,这里就不做演示了!

⑦docker rm:

使用这个命令就可以删除某个容器,这里跟删除镜像的区别是这里少了一个 i 啦!

 

需要注意的是通过 Stop 和 Kill 停止的容器还存在于 Docker 中,而使用 rm 命令操作后的容器将不再存在!

⑧docker inspect:

查看容器的详情(也能查看镜像详情)。

参考:

看完这篇,妈妈还会担心你Docker入不了门?

 

posted @ 2020-01-01 22:51  弱水三千12138  阅读(152)  评论(0)    收藏  举报