zoukankan      html  css  js  c++  java
  • Linux安装Docker

    查看是否已安装docker列表

    yum list installed | grep docker

    安装docker

    yum -y install docker


    启动docker
    systemctl start docker

    查看docker服务状态
    systemctl status docker


    容器运行后会持续产生日志,长期运行会有磁盘写满的风险,建议配置容器日志滚动策略,以下为容器日志滚动策略配置,若已配置则忽略。

    1. 新建配置文件: /etc/docker/daemon.json,若有则添加以下内容:

    {

    "log-driver":"json-file",

    "log-opts":{

    "max-size" : "3g",

    "max-file": "2"

    }

    }

    上述配置为每个容器的日志文件最多存在2个,每个最大为3G,可根据需要自行配置。

    1. 重启docker守护进程。

    docker rm $(docker ps -aq)

    systemctl daemon-reload

    systemctl restart docker

    先停止所有docker容器,再重启docker使日志配置生效

    错误提示如下

    [root@devops-101 ~]# journalctl -amu  docker
    -- Logs begin at Thu 2018-08-30 08:28:53 CST, end at Thu 2018-08-30 08:47:53 CST. --
    Aug 30 08:29:07 devops-101 systemd[1]: Starting Docker Application Container Engine...
    Aug 30 08:29:08 devops-101 dockerd-current[1102]: unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are specified both as a flag and in the configuration file: log-dri
    Aug 30 08:29:08 devops-101 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
    Aug 30 08:29:08 devops-101 systemd[1]: Failed to start Docker Application Container Engine.
    

    这个含义应该是Docker启动的时候传入了命令行参数,同时也指定了配置文件,两个配置发生了冲突。那么就查看一下Docker服务启动文件。

    [root@devops-101 ~]# vim /usr/lib/systemd/system/docker.service 
    [Service]
    Type=notify
    NotifyAccess=all
    EnvironmentFile=-/run/containers/registries.conf
    EnvironmentFile=-/etc/sysconfig/docker
    EnvironmentFile=-/etc/sysconfig/docker-storage
    EnvironmentFile=-/etc/sysconfig/docker-network
    Environment=GOTRACEBACK=crash
    Environment=DOCKER_HTTP_HOST_COMPAT=1
    Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
    ExecStart=/usr/bin/dockerd-current 
              --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current 
              --default-runtime=docker-runc 
              --exec-opt native.cgroupdriver=systemd 
              --userland-proxy-path=/usr/libexec/docker/docker-proxy-current 
              --init-path=/usr/libexec/docker/docker-init-current 
              --seccomp-profile=/etc/docker/seccomp.json 
              $OPTIONS 
              $DOCKER_STORAGE_OPTIONS 
              $DOCKER_NETWORK_OPTIONS 
              $ADD_REGISTRY 
              $BLOCK_REGISTRY 
              $INSECURE_REGISTRY 
              $REGISTRIES
    

    可以看到启动的时候会从/etc/sysconfig/docker中获取环境变量。
    继续查看这个配置文件。

    [root@devops-101 ~]# vim /etc/sysconfig/docker
    # /etc/sysconfig/docker
    
    # Modify these options if you want to change the way the docker daemon runs
    OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'
    if [ -z "${DOCKER_CERT_PATH}" ]; then
        DOCKER_CERT_PATH=/etc/docker
    fi
    

    可以看到参数中默认了--log-driver=journald,把这一段删掉就可以了。重启之后,就可以在/var/log/containers下看到容器产生的日志文件了。

  • 相关阅读:
    四色定理+dfs(poj 1129)
    栈的应用:表达式求值运算
    多重背包 (poj 1014)
    poj 1080 (LCS变形)
    KMP算法(快速模式匹配)
    贪心+构造( Codeforces Round #344 (Div. 2))
    JavaScript Ajax
    Canvas绘图
    TCP/IP协议
    移动端click事件延迟300ms到底是怎么回事,该如何解决?
  • 原文地址:https://www.cnblogs.com/sulishihupan/p/15396752.html
Copyright © 2011-2022 走看看