【狂神说】Docker 学习笔记【基础篇】

学习思想而非学技术,技术日新月异,唯有思想长盛不衰,润泽后生

学习资料:

【狂神说Java】Docker最新超详细版教程通俗易懂_哔哩哔哩_bilibili

Docker快速入门总结笔记_huangjhai的博客-CSDN博客

(74条消息) docker 进阶 之容器数据卷 DockerFile Docker网络 — 狂神说_cheng的博客-CSDN博客

官网:https://www.docker.com/

文档地址: https://docs.docker.com/ (Docker 官网文档超级详细)

仓库地址:https://hub.docker.com/

Docker中文文档 Docker概述-DockerInfo

Docker 中文文档(译)_nickDaDa的博客-CSDN博客_docker中文文档

1、Docker概述

1.1 Docker 为什么会出现

一款产品上线:面临问题:

问题1:开发 和 上线 俩套环境

问题2:开发人员 和 运维人员 ,开发测试可运行,上线就运行不了

问题3:环境配置十分麻烦,每个机器都要部署环境(集群 Redis、ES、Hadoop 等等)

问题4: 发布 jar包 时 又要 部署(Mysql、ES、Redis、jdk 等等)费时的环境,希望jar + 环境一起发布

问题5:部署的环境不能跨平台 windows 与 Linux

Docker 给以上问题提出了解决方案

传统:开发打jar包 给运维来部署

现在:开发即负责打包又负责部署,全栈开发

开发人员 打jar包带上环境(这里的环境称为镜像) – Docker 仓库(商店) – 运维人员下载 镜像 可直接运行

在这里插入图片描述

docker 的 思想 来源于 集装箱 ,打包装箱,相互隔离

虚拟机非常笨重,而docker十分小巧。

开源:开放源代码

1.2 Docker的概述

1、基本介绍

​ Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

​ Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

​ 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

​ Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

官网:https://www.docker.com/

文档地址: https://docs.docker.com/ (Docker 官网文档超级详细

仓库地址:https://hub.docker.com/

2、应用场景

​ Web 应用的自动化打包和发布。

​ 自动化测试和持续集成、发布。

​ 在服务型环境中部署和调整数据库或其他的后台应用。

​ 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

3、Docker 的优势

​ Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

(1) 快速,一致地交付您的应用程序。

​ Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。

​ 容器非常适合持续集成和持续交付(CI / CD)工作流程,请考虑以下示例方案:

​ 您的开发人员在本地编写代码,并使用 Docker 容器与同事共享他们的工作。他们使用 Docker 将其应用程序推送到测试环境中,并执行自动或手动测试。当开发人员发现错误时,他们可以在开发环境中对其进行修复,然后将其重新部署到测试环境中,以进行测试和验证。测试完成后,将修补程序推送给生产环境,就像将更新的镜像推送到生产环境一样简单。

(2) 响应式部署和扩展
Docker 是基于容器的平台,允许高度可移植的工作负载。Docker 容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。

​ Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。

(3) 在同一硬件上运行更多工作负载
Docker 轻巧快速。它为基于虚拟机管理程序的虚拟机提供了可行、经济、高效的替代方案,因此您可以利用更多的计算能力来实现业务目标。Docker 非常适合于高密度环境以及中小型部署,而您可以用更少的资源做更多的事情。

2、 虚拟化技术和容器化技术

​ 虚拟化技术特点:1.资源占用多 2.冗余步骤多 3.启动很慢

​ 容器化技术:容器化技术不是模拟的一个完整的操作系统

​ 虚拟机非常笨重,而docker十分小巧。

比较Docker和虚拟机的不同:

  • 传统虚拟机:

​ 虚拟出硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件。

  • Docker容器 :

​ Docker容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟硬件。

​ 每个容器都是相互隔离的,每个容器都有属于自己的文件系统,互不影响。

DevOps (Dev:开发,Ops:运维)

容器化带来的好处:

  • 应用更快速的交付和部署
    传统:一堆帮助文档,安装程序
    Docker :打包镜像发布测试,一键运行
  • 更便捷的升级和扩缩容
    使用了Docker之后,我们部署应用就和搭积木一样!
    项目打包为一个镜像,扩展服务器A !服务器B
  • 更简单的系统运维
    在容器化之后,我们的开发,测试环境都是高度一致的.
  • 更高效的计算资源利用:
    Docker是内核级别的虚拟化,可以再一个物理机上可以运行很多的容器实例!服务器的性能可以被压榨到极致。

3、 Docker的基本组成

Docker的基本组成图如下:

Client:客户端

DOCKER_HOST:docker的主机(服务器)

Registry: 远程仓库

在这里插入图片描述

基本组成

  • 镜像(image ):
    docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像==> run ==> tomcatOI容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的).

    ​ 开发人员 打jar包带上环境(这里的环境称为镜像

  • 容器(container ):
    Docker用容器技术,独立运行Y或者一个组应用,通过镜像来创建的。启动,停止,删除,基本命令!目前就可以把这个容器理解为就是一个简易的linux系统

    镜像启动后出现容器

    (镜像相当于类,容器相当于实例。一个镜像可以创建多个容器)

  • 仓库(repository ):
    仓库就是存放镜像的地方!仓库分为公有仓库和私有仓库!Docker Hub (默认是国外的)

4、 Docker的安装

在 CentOS | 上安装 Docker 引擎Docker 文档

环境准备

Linux CentOS7

1、查看系统的内核:uname -r

系统内核版本为3.10.0

[root@192 ~]#  uname -r
3.10.0-1160.el7.x86_64

2、查看系统配置cat /etc/os-release

[root@192 ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

卸载旧版本

旧版本的 Docker 被称为 或 .如果已安装这些项,请将其以及关联的依赖项一起卸载。

[root@192 ~]# sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

4.1 开始安装

Docker的安装步骤

1、下载需要的安装包

yum install -y yum-utils

2、设置阿里云的Docker镜像仓库

yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

3、更新yum软件包索引

yum makecache fast

4、安装docker相关的配置

docker-ce 是社区版,docker-ee 企业版

 yum install docker-ce docker-ce-cli containerd.io

出现了completed(或 完毕!)即安装成功。

5、启动Docker

# 启动Docker
systemctl start docker

# 查看当前版本号,是否启动成功
docker version

# 设置开机自启动
systemctl enable docker

4.2 hello-world镜像测试

1、下载hello-world镜像进行测试

docker run hello-world
[root@192 ~]# clear
[root@192 ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally //本地没在到 hello-world 镜像
latest: Pulling from library/hello-world // pull 远程拉取 hello-world 镜像
2db29710123e: Pull complete  // pull完成
Digest: sha256:507ecde44b8eb741278274653120c2bf793b174c06ff4eaa672b713b3263477b
Status: Downloaded newer image for hello-world:latest

Hello from Docker! //运行成功
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

2、查看下载的hello-world镜像

[root@192 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    feb5d9fea6a5   4 months ago   13.3kB //hello-world镜像

Docker的卸载

1、卸载依赖

yum remove docker-ce docker-ce-cli containerd.io

2、删除资源 ./var/lib/docker是docker的默认工作路径

rm -rf /var/lib/docker

5、配置阿里云镜像加速

本地机器无法使用

1、进入阿里云官网,搜索容器镜像服务

在这里插入图片描述

2、同时执行官方的命令

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://2y5oty1p.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docke

3、查看配置命令docker info,配置成功
在这里插入图片描述

6、Docker原理

6.1 Docker容器运行流程

启动一个容器,docker run的运行流程如下图:

在这里插入图片描述

6.2 底层原理

Docker是一个Client-Server(客户端-服务器)结构的系统,Docker的守护进程运行在主机上,通过Socker从客户端访问!Docker Server(服务器)接收到Docker-Client(客户端)的指令,就会执行这个指令!

在这里插入图片描述

Docker为什么比VMWare(虚拟机)快?

1、Docker比虚拟机更少的抽象层

2、docker利用宿主机的内核,而VM需要的是Guest OS(虚拟机操作系统)

img

​ Docker新建一个容器的时候,不需要像虚拟机一样重新加载一个操作系统内核,直接利用宿主机的操作系统,而虚拟机是需要加载Guest OS(虚拟机操作系统)。Docker和VM的对比如下:

img

7、Docker常用命令

命令的帮助文档地址:https://docs.docker.com/engine/reference/commandline/docker/

7.1 全部命令

[root@192 ~]# docker --help 

Usage:  docker [OPTIONS] COMMAND
// docker [选项] 命令

A self-sufficient runtime for containers //翻译:容器的自给自足运行时


Options:【选项】
      --config string      //客户端配置文件的位置 (default "/root/.docker")
  -c, --context string    //用于连接到守护进程的上下文的名称(覆盖DOCKER_HOST env变量和默认上下文设置 "docker context use")
  -D, --debug              //启用调试模式
  -H, --host list          //守护进程 socket(s) 连接
  -l, --log-level string   //设置日志级别 ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
      --tls                //使用 TLS; 隐含 --tlsverify
      --tlscacert string   //仅由此CA签名的信任证书(default "/root/.docker/ca.pem")
      --tlscert string     //TLS证书文件路径 (default "/root/.docker/cert.pem")
      --tlskey string      //TLS密钥文件的路径  (default "/root/.docker/key.pem")
      --tlsverify          //使用TLS并验证远端
  -v, --version            //打印版本信息并退出

Management Commands:【管理命令】
  app*        Docker App (Docker Inc., v0.9.1-beta3)
  builder     Manage(管理) builds
  buildx*     Docker Buildx (Docker Inc., v0.7.1-docker)
  config      Manage Docker configs
  container   Manage containers //containers:容器
  context     Manage contexts
  image       Manage images
  manifest    Manage Docker image manifests and manifest lists //管理Docker镜像清单和清单列表
  network     Manage networks
  node        Manage Swarm nodes //群节点
  plugin      Manage plugins //插件
  scan*       Docker Scan (Docker Inc., v0.12.0) //Scan:扫描
  secret      Manage Docker secrets //密码
  service     Manage services
  stack       Manage Docker stacks
  swarm       Manage Swarm //群
  system      Manage Docker
  trust       Manage trust on Docker images // trust:信任
  volume      Manage volumes //卷

Commands:【命令】
  attach      //将本地标准输入、输出和错误流附加到运行的容器 attach:附加
  build       //从Dockerfile构建一个映像
  commit      //根据容器的更改创建一个新镜像
  cp          //在容器和本地文件系统之间复制文件/文件夹
  create      //创建一个新容器
  diff        //检查容器文件系统中文件或目录的更改
  events      //从服务器获取实时事件 events:事件
  exec        //在运行的容器中运行命令 exec:执行
  export      //将容器的文件系统导出为tar存档文件 export:导出
  history     //显示一个镜像的历史
  images      //镜像的列表
  import      //从tarball文件中导入内容以创建文件系统映像
  info        //显示整个系统的信息
  inspect     //返回Docker对象的底层信息 inspect:检查
  kill        //杀死一个或多个正在运行的容器
  load        //从tar存档文件或STDIN加载镜像
  login       //登录到Docker注册表
  logout      //从Docker注册表注销
  logs        //获取容器的日志
  pause       //暂停一个或多个容器中的所有进程 pause:暂停
  port        //列出容器的端口映射或特定映射
  ps          //容器的列表
  pull        //从仓库(registry)中拉取镜像或存储库
  push        //将镜像或存储库推送到仓库(registry)
  rename      //重命名一个容器
  restart     //重新启动一个或多个容器
  rm          //移除一个或多个容器
  rmi          //移除一个或多个镜像
  run         //在新容器中运行命令
  save        //将一个或多个镜像保存到tar存档文件(默认情况下流到STDOUT)
  search      //在Docker Hub搜索镜像
  start       //启动一个或多个停止的容器
  stats       //显示容器资源使用统计的实时流
  stop        //停止一个或多个正在运行的容器
  tag         //创建引用SOURCE_IMAGE的标记TARGET_IMAGE
  top         //显示容器的运行进程
  unpause     //取消暂停一个或多个容器中的所有进程 unpause:不暂停
  update     //更新一个或多个容器的配置
  version    //查看Docker版本信息
  wait        //阻塞直到一个或多个容器停止,然后打印它们的退出代码

Run 'docker COMMAND --help' for more information on a command.

7.2 基础命令

docker version          #查看docker的版本信息
docker info             #查看docker的系统信息,包括镜像和容器的数量
docker 命令 --help       #帮助命令(可查看可选的参数)
docker COMMAND --help
docker --help           #列出所有命令

7.3 镜像命令

拉取(下载)一个镜像

//docker pull 镜像[:tag]  tag:版本(版本默认最新)
docker pull mysql
docker pull mysql:5.7 //指定版本
[root@192 ~]# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
# == 分层下载,docker iamge的核心联合文件系统 ==
6552179c3509: Pull complete 
d69aa66e4482: Pull complete  
3b19465b002b: Pull complete 
#...
Digest: sha256:92d27b8222bbcf53bc42c70ca7cd1010d6c0527efc61f14980ce77c50932bef4 # 签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #真实地址

# 下载成功
[root@192 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
mysql         latest    d1dc36cf8d9e   3 days ago     519MB
hello-world   latest    feb5d9fea6a5   4 months ago   13.3kB

#等价于
docker pull mysql 等价于 docker pull docker.io/library/mysqlzlatest

分层下载,比如mysql5.7 与 mysql 8.0 有层一致就不用重新下载

docker images 查看本地主机的所有镜像

[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker images
[镜像的仓库源  镜像的标签  镜像的id     镜像的创建时间    镜像的大小]
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    bf756fb1ae65   11 months ago   13.3kB


# 可选参数

-a/--all 列出所有镜像
-q/--quiet 只显示镜像的id

docker search 搜索镜像

[root@192 ~]# docker search mysql  										
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   12043     [OK]       
mariadb                           MariaDB Server is a high performing open sou…   4613      [OK]       
mysql/mysql-server                Optimized MySQL Server Docker images. Create901       [OK]
phpmyadmin                        phpMyAdmin - A web interface for MySQL and M…   439       [OK]       
//...
// STARS:收藏数

查看其可选参数

[root@192 ~]# docker search --help

Usage:  docker search [OPTIONS] TERM

Search the Docker Hub for images

Options:
  -f, --filter filter   //根据所提供的条件过滤输出
      --format string   //使用Go模板的漂亮打印搜索
      --limit int       //搜索结果的最大数目(默认25个)
      --no-trunc        //不截断输出

搜索收藏数大于3000的镜像

// STARS:收藏数
[root@192 ~]# docker search mysql --filter=STARS=3000
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   12043     [OK]       
mariadb   MariaDB Server is a high performing open sou…   4613      [OK]  

在仓库搜索

https://hub.docker.com/search?q=mysql&type=image

在这里插入图片描述

删除镜像

docker rmi -f 【镜像id】
[root@192 ~]# clear
[root@192 ~]# docker rmi -f feb5d9fea6a5
Untagged: hello-world:latest
Untagged: hello-world@sha256:507ecde44b8eb741278274653120c2bf793b174c06ff4eaa672b713b3263477b
Deleted: sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412
  • 删除多个镜像
docker rmi -f 【镜像id】 【镜像id】 【镜像id】 ...
  • 删除所有镜像
docker rmi -f $(docker images)

7.4 容器命令

镜像启动后出现容器

(镜像相当于类,容器相当于实例。一个镜像可以创建多个容器)

(镜像相当于你安装系统时下载的镜像文件,而容器呢就相当于你安装好的系统)

1、先拉取一个centos镜像

docker pull centos
[root@192 ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
a1d0c7532777: Pull complete 
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest

运行容器

run是新建一个容器(直接使用容器会自动退出),start是启动一个已经存在的容器

//image:镜像名字或id 
docker run [可选参数] image

//参数说明
--name="名字"           //指定容器名字
-d                     //后台方式运行 若没有提供服务则自动退出(停止)
-it                    //使用交互方式运行,进入容器查看内容
-p                     //指定容器的端口(小写的P)
	 -p ip:主机端口:容器端口  //配置主机端口映射到容器端口(小写的P)
     -p 主机端口:容器端口 
     -p 容器端口  

-P                     //随机指定端口(大写的P)
[root@192 ~]# docker start --help

// CONTAINER:容器id
Usage:  docker start [OPTIONS] CONTAINER:容器id [CONTAINER...]

//启动一个或多个停止的容器

Options:
  -a, --attach               //附加STDOUT/STDERR和前向信号
      --detach-keys string   //覆盖用于分离容器的键序列
  -i, --interactive         //将容器的STDIN

进入容器

docker run -it centos /bin/bash
  • 容器内就是一个独立和隔离的centos环境
[root@192 ~]# docker run -it centos /bin/bash
[root@b8f211692996 /]# ls 
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

退出容器exit

# exit 停止并退出容器(后台方式运行则仅退出)
# Ctrl+P+Q  不停止容器退出
[root@b8f211692996 /]# exit
exit

列出容器

docker ps 	   // 列出当前正在运行的容器
docker ps -a   // 列出所有容器的运行记录
docker ps -n=? // 显示最近创建的n个容器
docker ps -q   // 只显示容器的编号
[root@192 ~]# docker ps      #列出当前正在运行的容器
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
b8f211692996   centos    "/bin/bash"   14 minutes ago   Up 14 minutes             zealous_lichterman
[root@192 ~]# docker ps -a   # 列出所有容器的运行记录
CONTAINER ID   IMAGE          COMMAND       CREATED          STATUS                          PORTS     NAMES
0f009b5ce7d7   centos         "/bin/bash"   3 minutes ago    Exited (0) About a minute ago             cool_lovelace
b8f211692996   centos         "/bin/bash"   14 minutes ago   Up 14 minutes                             zealous_lichterman
9d6d432cfc32   feb5d9fea6a5   "/hello"      19 hours ago     Exited (0) 19 hours ago                   wizardly_booth
53ef5a5247a6   feb5d9fea6a5   "/hello"      19 hours ago     Exited (0) 19 hours ago                   eloquent_chatterjee

停止容器

[root@192 ~]# docker stop --help

// CONTAINER:容器(但要用容器id才行)
Usage:  docker stop [OPTIONS] CONTAINER [CONTAINER...]

//翻译:停止一个或多个正在运行的容器
Stop one or more running containers

Options:
  -t, --time int   //在杀死它之前等待几秒钟 (default 10)
[root@192 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
eb679ca2e254   centos    "/bin/bash"   4 minutes ago    Up 4 minutes              blissful_robinson
b8f211692996   centos    "/bin/bash"   26 minutes ago   Up 26 minutes             zealous_lichterman
[root@192 ~]# docker stop centos
Error response from daemon: No such container: centos
[root@192 ~]# docker stop eb679ca2e254
eb679ca2e254
[root@192 ~]# docker stop b8f211692996
b8f211692996
[root@192 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

删除容器

docker rm 容器id                 # 删除指定的容器,不能删除正在运行的容器
docker rm -f 容器id   		  # 强制删除,包括正在运行的容器
docker rm -f $(docker ps -aq)   # 删除所有的容器
docker ps -a -q|xargs docker rm # 删除所有的容器

启动和停止容器

docker start 容器id          #启动容器
docker restart 容器id        #重启容器
docker stop 容器id           #停止当前运行的容器
docker kill 容器id           #强制停止当前容器

7.5 其他常用命令

日志的查看

[root@192 ~]# docker logs --help

Usage:  docker logs [OPTIONS] CONTAINER

//获取容器的日志

Options:
      --details        //显示提供给日志的额外细节
  -f, --follow         //跟踪日志输出
      --since string   //显示自定义时间戳以来的日志 (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)
  -n, --tail string    、、从日志的末尾显示的行数(default "all")
  -t, --timestamps     //显示时间戳
      --until string  //在时间戳之前显示日志 (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)

//常用:
docker logs -tf 【容器id】
docker logs --tail number 【容器id】 //num为要显示的日志条数
#docker容器后台运行,必须要有一个前台的进程,否则会自动停止
#编写shell脚本循环执行,使得centos容器保持运行状态
[root@192 ~
  • 16
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值