走近Docker---(3)docker容器命令总结

前言

前面我们安装了docker,下面就可以利用docker详细介绍容器的启用了,但在学习之前我们先对docker命令进行总结,便于后面的学习。

本文中(可选),即为可省略。




【1】查看docker信息



<1>显示docker的版本信息

docker version 或 docker –version

这里写图片描述



<2>显示 Docker 系统信息,镜像及容器数量

docker info

这里写图片描述




【2】docker镜像管理


<1>从Docker Hub查找docker镜像

docker search +参数(可选) + 镜像名称

例如:

docker search kubernetes

这里写图片描述

NAME:docker镜像的名称
DESCRIPTION:对相应docker镜像的描述
STARS:收藏数


docker search常用参数:
-s 列出收藏数不小于指定值的镜像。


例如:
docker search -s 15 kubernetes

这里写图片描述



<2>从镜像仓库中拉取/更新指定的镜像

docker pull +参数(可选)+ 镜像名称


例如:
docker pull ubuntu (当指定拉取的镜像没有指定具体的版本号,就会拉取最新版的)

这里写图片描述


docker pull参数:
-a :拉取所有打了标记的镜像(慎用,因为一般不用下太多的版本)
–disable-content-trust :忽略镜像的校验,默认开启



<3>将本地的镜像上传到镜像仓库(要先登陆到镜像仓库,在上传)

docker push +参数(可选)+ 本地镜像的名称


例如:
docker push centos:v1


docker push参数:
–disable-content-trust :忽略镜像校验,默认开启



<4>登入/登出(login/logout)docker镜像仓库

(如果未指定镜像仓库地址,默认为 Docker Hub官方仓库)

docker loging/logout + 登陆的用户名 + 登陆的密码


docker login/logout 参数:
-u :登陆的用户名
-p :登陆的密码



<5>列出本地镜像

docker images + 镜像名称(可选)

这里写图片描述


REPOSITORY :docker镜像名称
TAG :标签即版本号
IMAGE ID :镜像的id
CREATED:镜像下载时间
SIZE:镜像大小


docker images 常用参数:
-a :列出本地所有的镜像
–digests :显示镜像的摘要信息
–no-trunc :显示完整的镜像信息
-q :只显示镜像ID



<6>删除本地镜像

docker rmi +参数(可选)+ 镜像id/镜像名称


例如:
docker rmi ubuntu:10.04

这里写图片描述


docker rmi a58cd502f927(镜像id使用时,可不用全打,可与其他的镜像的id区别即可)
这里写图片描述


docker rmi 常用参数:
-f :强制删除



<7>标记本地镜像(打标),并归入某一仓库

docker tag +本地镜像及版本+ docker仓库位置即标记后的名称


例如:
docker tag ubuntu:12.04 dcimage/ubuntu:v1

这里写图片描述


docker images dcimage/ubnuntu
这里写图片描述



<8>将指定镜像保存成 tar文件(可用作镜像迁移)

docker save + 参数(-o) + 要保存成为的tar文件名 + 本地镜像名


例如:
docker save -o dc_ub_v1.tar dcimage/ubuntu:v1

这里写图片描述


docker save参数:
-o :输出到某文件



<9>从(.tar)归档文件中创建镜像

docker import +镜像的归档(.tar)文件 + 要创建的docker镜像的仓库位置及名称


例如:
docker import dc_ub_v1.tar dcimage/ubuntu:v2

这里写图片描述


docker import 参数:
-c :应用docker 指令创建镜像
-m :对docker镜像的描述



<10>查看指定镜像的创建历史

docker history + 参数 + 指定镜像


例如:
docker history dcimage/ubuntu:v2

这里写图片描述


docker history 参数:
-H :以可读的格式打印镜像大小和日期,默认为true
–no-trunc :显示完整的提交记录
-q :仅列出提交记录ID



<11>使用Dockerfile创建镜像

(Dockerfile文件必须命名为“Dockerfile”;Docker镜像构建时,会查找指定目录中的Dockerfile;”.”代表当前目录)

这里写图片描述


docker build + 参数(可选)+ 要创建的docker镜像的名称 + Dockerfile文件所在目录

docker build + 远程URL


例如:
docker buid -t mynginx:v1 .

这里写图片描述

这里写图片描述


docker build常用参数:
-t:指定镜像的名称及tag(例如: mynginx 或 mynginx:v1.2)
-f:指定Dockerfile的完整路径,默认值‘PATH/Dockerfile’
–build-arg:设置构建时的变量
–network:设置在运行期间运行指令的联网模式,默认default
–disable-content-trust:对镜像进行验证
–no-cache,默认false。设置该选项,将不使用Build Cache构建镜像
-q:抑制输出,并打印成功后的镜像ID
–rm:构建成功后删除中间环节的容器




[3]docker容器生命周期管理


<1>创建一个容器并运行命令

(在创建容器时,容器内的环境基于提供的镜像;提供的运行命令,就像是发动机,此命令可持续多久,容器活动多久)

docker run + 参数(-i、-t常用,其他任选) + 本地镜像名称 + 运行命令


例如:
docker run -it nginx:latest /bin/bash

这里写图片描述


docker run 常用参数:

–cpuset:绑定容器到指定CPU运行(例: –cpuset=”0,1,4”)
-d: 后台运行容器,并返回容器ID(容器在后台活动)
–dns:指定容器使用的DNS服务器(默认和宿主一致; 例:–dns 8.8.8.8)
–dns-search:指定容器DNS搜索的域名(默认和宿主一致; 例: –dns-search example.com)
–env-file:从指定文件读入环境变量
–expose:开放端口
-v:将主机的目录映射到容器的目录(例: /mnt:/mnt )
-h:指定容器的hostname(例: -h wode)
-i: 以交互模式运行容器,通常与 -t 同时使用(可以与生成的容器交互)
-t: 开启一个终端
-m :设置容器使用内存最大值
–name:为容器指定一个名称(例: –name=名称id)
–network:指定容器的网络连接类型(支持 bridge/host/none/container;例: –network=”container”)
–link: 将链接添加到另一个容器


退出容器方法:
ctrl + p q 退出容器,容器还活动
这里写图片描述


exit / ctrl + d 退出容器,容器停止
这里写图片描述



<2>创建一个容器,不运行

(用法等同docker run;与docker run唯一的区别在于:生成的容器的状态)

docker create + 参数(可选) + 容器名称 + 本地镜像名称


例如:
docker create –name wode centos

这里写图片描述

这里写图片描述


docker create 常用参数:
等同docker run



<3>对docker容器进行开、关

(使用docker对容器的开关与我们Linux中使用其他程序的方法大致相同systemctl start ….)

docker start/stop/restart + 容器的id(可不用全打,体现出id唯一性即可)


例如:

docker stop e7
这里写图片描述


docker restart e7
这里写图片描述


注意:docker 是没有status命令的

这里写图片描述



<4>杀死运行中的容器

(用法类似于Linux中的kill用法)

docker kill +s(可选) + 信号(可选) + 容器id/名


例如:
docker kill e

这里写图片描述

这里写图片描述


docker常用参数:
-s :向容器发送信号(同Linux的kill用法)

例如:
docker kill -s 9 e

这里写图片描述


docker kill -s 的信号如下:
这里写图片描述



<5>删除容器

(将容器先停止,才能删除)
docker rm + 参数(可选) + 容器id/容器名


例如:
docker rm e7

这里写图片描述


docker常用参数:
-f:强制删除一个运行中的容器
-l:移除容器间的网络连接(容器未删除)
-v:删除与容器关联的卷



<6>控制容器中的进程

(用此来控制服务;出现pause即为停止服务)

暂停容器中所有的进程(服务)
docker pause + 容器id/容器名


例如:
docker pause c6

这里写图片描述


恢复容器中所有的进程(服务)
docker unpause + 容器id/容器名


例如:
docker unpause c6

这里写图片描述



<7>在运行的容器中执行命令

(运行的命令一般是执行容器内的脚本)

docker exec + 参数(可选) + 容器id/名 + 运行的命令 / 容器内的脚本


例如:
docker exec fc yum -y install httpd

这里写图片描述


docker exec 常用参数:
-d :分离模式: 在后台运行
-i :以交互模式运行
-t :分配一个伪终端


例如:
一般加-it,以交互模式,执行容器内脚本
docker exec -it fc /bin/sh /root/mysql.sh

这里写图片描述




【4】docker容器基础操作


<1>列出创建了的容器

docker ps 无参数时,默认列出所有运行的容器

docker ps + 参数(可选)


例如:
docker ps

这里写图片描述


docker ps 常用参数:
-a :显示所有的容器 (包括未运行的)
-l :显示最新创建的容器
-n:列出最近创建的n个容器( 例: -n 3)
-q:静默模式,只显示容器编号


例如:
docker ps -a

这里写图片描述



<2> 获取容器/镜像的元数据

docker inspect 容器的名或id / 镜像名称


例如:
docker inspect ad

这里写图片描述


docker inspect 常用参数:

-f :指定返回值的模板文件
-s :显示总的文件大小
–type :为指定类型返回json


例如:
docker inspect -f “This is bird” ad

这里写图片描述



<3>查看容器中运行的进程信息

docker top + 容器id/名


例如:
docker top fc

这里写图片描述



<4>进入正在运行的容器

(要进入的容器必须正在运行;如不加参数时,用exit /ctrl +d 退出容器,会导致容器关闭;可用ctrl + p q,退出后不关闭容器)

docker attach + 参数(可选) + 容器di/容器名


例如:
docker attach fc

这里写图片描述



<5>从服务器中获取docker的实时事件

docker events + 参数 + 与参数对应的时间


docker events 常用参数:
–until: 显示到指定的时间为止(例:–until=”2099-12-12”)
–since:从指定的时间戳后显示所有事件(秒级时使用; 例:–since=”1211311”)


例如:
docker events –until=”2018-06-07”

这里写图片描述



<6> 获取容器的日志

(如不加参数限定,会出现此容器的所有日志)

docker logs + 参数(可选) + 容器id/名


docker logs 常用参数:
-f : 跟踪日志输出
-t : 显示时间戳
–since :显示从某个时间开始的所有日志(例:–since=”2099-12-12” )
–tail :列出最新的几条容器日志(例: –tail=10)


例如:
docker logs –tail=10 -t fc

这里写图片描述



<7>将容器(文件系统)打包为一个tar(归档)文件

docker export + 参数(-o) + 容器打包后的tar文件名 + 容器id/名


docker export 参数:
-o :将内容输入到某文件


例如:
docker export -o wo_jenkins.tar c0

这里写图片描述


注意:
可将打包的tar文件传输到另外的环境中,然后在传输到的服务器上导为镜像,达到迁移容器的目的


例如:
cat wo_jenkins.tar | docker import - wo_jenkins:v1

这里写图片描述



<8>列出指定的容器的端口映射

docker port + 容器id/名

例如:
docker port c0

这里写图片描述



<9>检查容器里文件结构的更改

(常用于比较一个容器不同版本提交的文件差异)

docker diff + 容器id/名


例如:
docker diff c0

这里写图片描述


A : Add,添加
D :Delete,删除
C :Change,变更



<10>将主机和容器中的数据互相拷贝


传主机中文件到docker容器

docker cp + 主机中文件(可用相对路径) + 容器id/名及拷贝到的位置(绝对路径)

例如:
docker cp foo.sql fc:/root/

这里写图片描述


传docker容器中文件到主机

docker cp + 容器id/名及要拷贝的文件或目录(绝对路径) + 主机中拷贝到的位置(可用相对路径)

例如:
docker cp fc:/root/1.txt /mnt/

这里写图片描述


docker cp 常用参数:
-a: 复制所有的uid、gid信息
-L :保持源目标中的链接



<11>利用容器创建镜像

docker commit + 参数 + 容器id/名 + 创建的镜像的名称


docker commit 常用参数:
-a :提交的镜像作者
-c :使用Dockerfile指令来创建镜像
-m :提交时对镜像的描述
-p :在commit时,将容器暂停

这里写图片描述




猜你喜欢

转载自blog.csdn.net/gx_1_11_real/article/details/80585150