1. 以ROOT权限登录容器#

在登录Docker容器的时候,我们一般使用如下命令:

1
[root@bogon Kiwi-8.0]# docker exec -it  c071060a0213 bash

但是这登录后权限只有普通账户,如果不知道root密码无法进行root切换,其实在进入容器的时候就可以设置root权限,具体命令如下:

1
2
3
4
5
6
第一步:查看容器的CONTAINER ID
# docker ps

第二步:获取root权限,进入Docker容器
docker exec -ti -u root 4650e8d1bcca bash
注意:这里的4650e8d1bcca是指容器的ID.

参考博客

2. 安装docker-compose#

在使用docker-compose命令的时候报错:

1
-bash: docker-compose: command not found

是因为没有安装docker-compose导致的。

安装命令:

1
2
3
4
5
# curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose  //下载安装

# chmod +x /usr/local/bin/docker-compose //修改权限

# docker-compose -version //查看是否安装完成

安装有多种方式,我安装的时候使用了这种方式,是可以使用的。

linux 安装 docker-compose

4. 查看Docker容器日志#

4.1 Docker日志分类#

  • Docker 引擎日志(也就是 dockerd 运行时的日志)
  • 容器的日志,容器内的服务产生的日志

在CentOS下查看Docker的引擎日志,查看引擎日志命令:

1
# journalctl -u docker.service

查看容器日志命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@bogon containers]# docker logs --help
Usage: docker logs [OPTIONS] CONTAINER
Fetch the logs of a container
Options:
--details Show extra details provided to logs显示更多的信息
-f, --follow Follow log output实时刷新日志
--since string Show logs since timestamp自某个时间后的日志,或相对时间,比如30m(即30分钟)
--tail string Number of lines to show from the end of the logs (default "all")(显示末尾固定行数,后面跟数字,默认是all)
-t, --timestamps Show timestamps显示时间戳
应用举例:
#查看指定时间后的日志,只显示最后100行
$ docker logs -f -t --since="2020-02-25" --tail=100 CONTAINER_ID

#查看最近30分钟的日志
$ docker logs --since 30m CONTAINER_ID

#查看某时间之后的日志
$ docker logs -t --since="2020-02-25T16:03:27" CONTAINER_ID

Docker容器日志管理最佳实践

Docker 问答录(100 问)

「Allen谈Docker系列」之dockerlogs实现剖析

从敲下docker logs开始理解docker日志原理

5.提醒处理-WARNING: bridge-nf-call-iptables is disabled#

在运行docker info时,页面会弹出WARNING提醒,看着比较不舒服,解决办法如下。

编辑/etc/sysctl.conf文件:

1
vi /etc/sysctl.conf

在文件的末尾添加如下内容:

1
2
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

保存文件,并退出,最后需要执行以下命令:

1
# sysctl -p

之后再使用docker info查看,不再有这个WARNING 提醒了。