Docker Engine API 初始

Engine API 是 Docker Engine 提供的 HTTP API。它是 Docker 客户端用于与引擎通信的 API,因此 Docker 客户端可以做的所有事情都可以通过 API 来完成。 默认 Docker Engine API 只能通过 socket 访问,如果想通过端口访问则需要手动修改服务。 找到 docker.service 文件,通常在 /lib/systemd/system/docker.service,配置默认为 [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service containerd.service Wants=network-online.target Requires=docker.socket containerd.service [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd....

五月 7, 2020

Docker 日志清理

我们使用默认 docker 配置来构建服务,有时主机会出现磁盘空间占满,那很可能是 docker 容器的日志所导致的,容器日志一般存放在 /var/lib/docker/containers/container_id/ 下面, 以 json.log 结尾 查看容器日志大小 ls -lh $(find /var/lib/docker/containers/ -name *-json.log) 清理容器日志 truncate -s 0 /var/lib/docker/containers/*/*-json.log 为了不再出现日志磁盘占满,就需要从源头上限制日志大小,那么可以直接修改 daemon.json 全局来配置 { + "log-driver": "json-file", + "log-opts": { "max-size": "500m", "max-file": "3" } } 重启 docker 服务 systemctl daemon-reload systemctl restart docker 如果使用 docker-compose 也可以专门为某个容器配置日志 emqx: image: emqx/emqx restart: always environment: EMQX_NAME: emqx EMQX_ALLOW_ANONYMOUS: "false" EMQX_LISTENER__TCP__EXTERNAL: 1883 EMQX_LISTENER__WS__EXTERNAL: 8083 logging: driver: json-file options: max-size: 1g ports: - 1883:1883 - 8081:8081

十二月 27, 2018

EMQ X 容器持久化

EMQX 容器持久化需要将以下目录挂载处理: /opt/emqx/data /opt/emqx/etc /opt/emqx/lib /opt/emqx/log 假设为 EMQX 配置 compose 编排: version: "3.7" services: emqx: image: emqx/emqx restart: always environment: EMQX_NAME: emqx EMQX_HOST: 127.0.0.1 EMQX_ALLOW_ANONYMOUS: "false" EMQX_LISTENER__TCP__EXTERNAL: 1883 EMQX_LISTENER__WS__EXTERNAL: 8083 EMQX_DASHBOARD__DEFAULT_USER__LOGIN: root EMQX_DASHBOARD__DEFAULT_USER__PASSWORD: 123456 ports: - 1883:1883 - 8083:8083 - 8081:8081 volumes: - ./emqx/lib:/opt/emqx/lib - ./emqx/etc:/opt/emqx/etc - ./emqx/data:/opt/emqx/data - ./emqx/log:/opt/emqx/log 此时,编排的容器不能成功运行,并提示: emqx_1 | cat: can't open '/opt/emqx/etc/emqx.conf': No such file or directory emqx_1 | ls: /opt/emqx/etc/plugins: No such file or directory 因此我们要让容器正常的运行起来,首先要屏蔽挂载配置,重新编排...

十二月 27, 2018