Docker基础,常用命令、用法总结

Docker基础,常用命令、用法总结_第1张图片

Docker提供很丰富,很多的命令,大概分为以下几类,并且列举了一些很常用的命令的说明与用法

目录(docker子命令分类):

  • 一。docker环境信息命令
  • 二。容器生命周期管理
  • 三。镜像仓库(docker registry)命令
  • 四。镜像管理
  • 五。容器运维操作
  • 六。其他子命令

一。docker环境信息命令

  • docker info
  • docker version
#docker info

查看docker是否正确安装以及一些基本信息。

Docker基础,常用命令、用法总结_第2张图片

#docker version

查看版本信息
Docker基础,常用命令、用法总结_第3张图片

二:容器生命周期管理

1.docker run命令

是docker的核心命令之一,用来基于特定镜像创建一个容器,并依据选项控制容器。

常用参数:

  • -i:使用交互模式,始终保持输入流开放
  • -t:分配一个伪终端(一般是/bin/bash)

上面二者通常一起用 -it

  • –name:指定容器跑起来的名字,若没这个选项,docker随机给容器一个名字
  • -p:映射端口;把容器端口暴露给宿主机的端口,这是为了让外部主机通过宿主机访问容器内的应用。 格式:hostPort:containerPort
  • -v:映射外部到内部的文件,或说挂载一个volume。 格式:【host-dir】:【container-dir】:【rw|ro】

对-v参数的说明:由于容器轻量化的设计,里面缺乏文本编辑工具,当我们需要在容器中创建,编辑文件的时候,使用-v挂载,实现主机容器间共享数据,可以省去在容器中安装文本编辑工具的麻烦。

  • -d:在后台跑容器
  • -m:限制为容器中所有进程分配的内存总量,以B,K,M,G为单位

示例1:

#docker run ubuntu echo “Hello Word!”

这是run最基本的用法,没带选项参数。这条命令从ubuntu镜像启动一个容器,并执行echo打印Hello Word。执行完打印,容器也就停止运行。启动容器的同时会同时给容器分配一个容器id号,CONTAINER ID,来标识容器

示例2:

#docker run -it --name mytest ubuntu:lastest /bin/bash

根据 ubuntu镜像,启动了mytest(自己命名的)的容器,并且开启一个/bin/bash终端。

lastest含义:镜像名后+tag来区分同名的镜像,默认就是选取lastest(最新)的镜像。

2.docker start/stop/restart命令

上面我们通过run可以启动容器,对于已经存在的容器,我们可以通过 docker start/stop/restart +容器ID号 来启动,停止和重启
docker start 使用 -i 选项开启交互模式

三:镜像仓库(docker registry)命令

Docker官方仓库:Docker Hub。我们可以从这个仓库中“拉取”镜像自己使用。

  • docker pull
  • docker push

1.docker pull命令:
从官方镜像库;其他公共库,私人库,私有服务器中 获取镜像资源。
示例:

默认拉取lastest的

#docker pull ubuntu

拉取指定tag的ubuntu镜像

#docker pull ubuntu:ubuntu12.04 

拉取特定仓库(SEL)的镜像

#docker pull SEL/ubuntu

拉取指定服务器的镜像

#docker pull 10.10.103.215:5000/sshd

2.docker push命令
将本地镜像推送到仓库中,与上面pull命令对应

如:#docker push SEL/ubuntu

四。镜像管理

  • docker images
  • docker rmi/rm

1.docker images:
列出当前主机的镜像(默认只列出顶层镜像)

-a列出所有

2.docker rmi/rm

docker rmi 用来删除镜像
docker rm 用来删除容器

注意:当删除镜像的时候,如果有基于该镜像的容器存在,则无法直接删除镜像,需要先删除对应容器。

或者使用 -f 选项,强制删除(rmi/rm都有-f选项)

五。容器运维操作

1.docker attach:
可以连接到正在运行的容器,观察其运行状况,或与容器的主进程进行交互。
与上面的docker -it … /bin/bash 效果类似,attach是对已经存在的,正在运行的容器的操作。

命令使用格式:docker attach [OPTIONS] CONTAINER

2.docker inspect:
查看镜像和容器的详细信息,默认列出全部信息,可以使用 --format参数指定输出格式。

命令使用格式:docker inspect [OPTIONS] CONTAINER|IMAGE

3.docker ps:
查看容器的相关信息,默认只显示正在运行的容器的信息。
我们通常使用这个命令查看容器的 容器ID 以便对相应容器的后续操作。

常用参数:

  • -a:查看所有容器,包括停止的容器
  • -l:只查看最新创建的容器,包括不在运行的容器

六。其他子命令

1.docker commit:
可以将你的容器固化为新的镜像。(保存你在容器中的修改)
提交保存时,只能选用正在运行的容器(docker ps能查到的)来制作新的镜像。
注意:我们创建镜像 使用 docker commit 只是一个临时性的辅助命令。最常用的还是通过docker build 与dockerfile结合 创建,管理镜像。

命令使用格式:docker commit [OPTIONS] CONTAINER [repository[:tag]]

2.events、history、logs命令
这几个命令可以查看docker的系统日志信息

  • events:打印实时的系统事件
# docker events [options]
  • history:打印出指定镜像的历史版本信息
# docker history [options] image
  • logs:打印出容器中进程的运行日志
#docker logs [options] container

参考书籍:容器与容器云

你可能感兴趣的:(docker,linux)