Docker基本命令入门

本文介绍Docker基本的操作命令,包括对镜像容器的获取,查看,保存,启停等操作。

1.

检查docker的版本:
docker version
docker -v

2.

搜索名字叫做tutorial的镜像:
docker search tutorial

3.

下载tutorial镜像:
docker pull learn/tutorial

4.

在docker容器中运行hello world:
docker run learn/tutorial echo "hello word"

在learn/tutorial镜像里面安装ping程序:
docker run learn/tutorial apt-get install -y ping

在新的镜像中运行ping www.google.com命令
docker run lean/ping ping www.google.com

5.

查看所有正在运行中的容器列表:
docker ps -a

获得上一个执行完命令之后容器的id:
docker ps -l

列出镜像的基本信息
docker images
docker images [NAME]/[CONTAINER ID]

查看容器的详细信息
docker inspect efe

6.

使用指定镜像ubuntu:16.04来启动一个容器:
docker run -t -i ubuntu:16.04 /bin/bash
如果不指定具体的标记,则默认使用latest标记信息。

交互模式运行:
docker run -it chug/ubuntu14.04x64 /bin/bash
-it表示运行在交互模式,i表示打开并保持stdout,t表示分配一个终端(pseudo-tty)。
一般这个模式就是可以启动bash,然后和容器有命令行的交互。

后台启动一个容器:
docker run -d mysql

如果想进入到后台运行的容器,首先获取其id,使用attach命令进入:
docker attach aa97ba3292ce

使用rm在退出容器时删除容器,不然docker中临时容器会越来越多:
docker run --rm -it chug/ubuntu14.04x64 /bin/bash

如果使用exit,命令退出,则容器的状态处于停止状态,而不是后台运行。
如果想让容器一直后台运行,而不是停止,可以使用快捷键 ctrl+p ctrl+q 退出,此时容器的状态为Up。

启动、停止、重启容器aa97ba3292ce的命令:
docker start aa97ba3292ce
docker stop aa97ba3292ce
docker restart aa97ba3292ce

7.

保存镜像,需要在退出镜像前记住容器的id:
root@aa97ba3292ce
或者获得上一个执行完命令之后容器的id:
docker ps -l
然后保存镜像如下,提交作者,描述,需要保存的镜像id,保存的镜像名称:
docker commit -a "yuwen 10208438" -m "ranger admin install with mysql5.5 v1" ba9ca696127d org.apache.ranger/mysql:v1
查看所有的镜像,查看保存结果
docker images | grep mysql

使用tag命令添加镜像标签,为了方便在后续工作中使用特定的镜像:
docker tag docker.io/hello-world:latest hello-world:mytag

保存镜像到文件,将org.apache.ranger/mysql:v1保存为mysql5.5v1.tar:
docker save -o mysql5.5v1.tar org.apache.ranger/mysql:v1
加载本地镜像:
docker load -i mysql5.5v1.tar

8.

删除容器或者镜像,注意:删除镜像前必须先删除以此镜像为基础的容器:
docker rm container_id
使用ID删除:
docker rmi image_id
使用标签删除(如果存在别名,只会删除该别名)
docker rmi TAG
强制删除:
docker rmi -f centos-test:vim

9.

递归地输出指定镜像的历史镜像
docker history <image-id>
不截断输出结果:
docker history --no-trunc <image-id>

10.

进入已经运行的镜像:
docker exec -it bce85007f6d7 /bin/sh

11.

拷贝指定镜像目录下的文件到本地:
docker cp bce85007f6d7:/app/sline-cm-service-2.1.0-SNAPSHOT.jar .

12.日志查看

logs命令查看容器日志:
docker logs [OPTIONS] CONTAINER
OPTIONS说明:
-f : 跟踪日志输出
--since :显示某个开始时间的所有日志
-t : 显示时间戳
--tail :仅列出最新N条容器日志

查看日志,并且不断输出最新日志:
docker logs -f sline-business
查看最后100行日志:
docker logs --tail 100 sline-business
查看最后100行日志,且追加输出:
docker logs --tail 100 -f sline-business

查看最近30分钟的日志:
docker logs --since 30m sline-business
查看指定时间后的日志,显示最后100行,且追加输出:
docker logs -f -t --since="2018-02-08" --tail=100 sline-business

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《Docker从入门到实践》阅读笔记 原书地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo阅读 11,437评论 1 39
  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,636评论 15 147
  • 这个世界没有永远的胜利者。从尼尼微到巴比伦再后来是波斯、希腊、马其顿,在亚历山大帝后,下一任霸主是谁呢?在亚历山大...
    木子青学馆阅读 318评论 0 0
  • 今天,在老师,又要求我们去学校了,今天是叫我没,练字。我,特别特别早的就去了,我去的时候,戴老师还正准备休息了。 ...
    段智耀阅读 835评论 21 18
  • 本周的主题是读书的意义。 先解释一下何为读书: 读书有些时候等同于学知识,如我们上学的时...
    矮穷但有才阅读 269评论 0 2