容器深入浅出学习--Docker常用指令

前面我们了解了docker的基本概念,和docker镜像,端口相关的内容。在具体的实际操作过程中,我们需要了解一些相关的docker操作指令。

一.Docker save指令

指令功能:将指定镜像保存为tar归档文件
语法

docker sava [OPTIONS] IMAGE [IMAGE ....]

OPTIONS说明
-o:输出到的文件
第一个IMAGE是保存的tar文件名称,第二个是docker image要打包的镜像
例子:我们将yushengyin/centos:6.7生成yushengyin.tar

[root@k8s-01 docker]# docker save -o yushengyin.tar yushengyin/centos:6.7 
[root@k8s-01 docker]# ll -ah yushengyin.tar 
-rw-------. 1 root root 189M Dec 20 22:01 yushengyin.tar

镜像导出后,如果需要导入,我们采用下面的指令:

docker load < xxx.tar
[root@k8s-02 ~]# docker load < yushengyin.tar 
69bd93b9db4e: Loading layer [==================================================>]  197.1MB/197.1MB
c0bfb5adb9d6: Loading layer [==================================================>]  6.656kB/6.656kB
c83576a0a294: Loading layer [==================================================>]  18.94kB/18.94kB
7d3ad8e4090d: Loading layer [==================================================>]  6.656kB/6.656kB
95c00c575db8: Loading layer [==================================================>]  3.072kB/3.072kB
Loaded image: yushengyin/centos:6.7
[root@k8s-02 ~]# docker images
REPOSITORY                                          TAG                 IMAGE ID            CREATED             SIZE
yushengyin/centos                                   6.7                 4f2531db0da1        About an hour ago   191MB

二.Docker logs命令

在使用容器的过程中,我们通常需要查看容器运行的一些日志信息来定位和排查问题:
指令功能:获取容器的日志
OPTIONS说明
-f:跟踪日志输出
--since:显示某个开始时间的所有日志
-t:显示时间戳
--tail:仅列出最新N条容器日志

例如,查看容器cb2ea5793288从2018年12月20号后的最新10条日志

[root@k8s-01 docker]# docker logs --since="2018-12-20" --tail=10 cb2ea5793288
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
192.168.30.42 - - [20/Dec/2018 09:08:01] "GET / HTTP/1.1" 200 -
192.168.30.42 - - [20/Dec/2018 09:08:01] "GET /favicon.ico HTTP/1.1" 404 -

三.Docker rm命令

命令功能:删除一个或多个容器
语法

docker rm [OPTIONS] CONTAINER [CONTAINER...]

OPTIONS说明
-f:通过SIGKILL信号强制删除一个运行中的容器
-l:移除容器间的网络连接,而非容器本身
-v:删除与容器关联的卷
例如:

[root@k8s-01 docker]# docker ps 
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                      NAMES
d32fd27a6068        modify/webapp:v3       "python app.py"          About an hour ago   Up About an hour    0.0.0.0:32769->5000/tcp    lijing
[root@k8s-01 docker]# docker rm d32fd27a6068 
Error response from daemon: You cannot remove a running container d32fd27a6068a16a4848a9148376475a9400485223a24fd7769b1fec3662caed. Stop the container before attempting removal or force remove
[root@k8s-01 docker]# docker rm -f d32fd27a6068 
d32fd27a6068

四.Docker cp命令

命令功能:用于容器与主机之间的数据拷贝
语法

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

例如:
将主机/www/cephfs_dir目录拷贝到容器747e9e0a7d61的/var目录

[root@k8s-01 ~]# docker cp /root/cephfs_dir 747e9e0a7d61:/var/

将容器747e9e0a7d61的/var/log目录拷贝到主机的/root/cephfs_dir目录下:

[root@k8s-01 ~]# docker cp 747e9e0a7d61:/var/log /root/cephfs_dir/

五.Docker diff命令

命令功能:检查容器内文件结构的更改
语法

docker diff [OPTIONS] CONTAINER

例如我们查看上面容器747e9e0a7d61的文件结构更改:

[root@k8s-01 cephfs_dir]# docker diff 747e9e0a7d61
C /var
A /var/cephfs_dir
A /var/cephfs_dir/cephfs-pvc.yaml
A /var/cephfs_dir/cephfspod.yaml
A /var/cephfs_dir/cephfspod2.yaml
A /var/cephfs_dir/ceph-secret.yaml
A /var/cephfs_dir/cephfs-pod.yaml
A /var/cephfs_dir/cephfs-pod1.yaml
A /var/cephfs_dir/cephfs-pv.yaml

六.Docker镜像管理之Docker rmi命令

命令功能:删除本地一个或多少镜像
语法

docker rmi [OPTIONS] IMAGE [IMAGE...]

OPTIONS说明
-f:强制删除
--no-prune:不移除该镜像的过程镜像,默认移除

例如:
注意删除时,指定镜像的REPOSITORY:TAG

[root@k8s-01 cephfs_dir]# docker rmi yushengyin/centos:dev

参考链接:http://www.runoob.com/docker/docker-rmi-command.html

posted @ 2018-12-21 12:06  yuhaohao  阅读(193)  评论(0编辑  收藏  举报