linux下etc下的docker,Linux系统下Docker的离线安装及清理

说明

本文只讲述docker离线安装及清理的步骤,关于docker本身的含义、技术特性等不再描述。

根据官网的介绍,在Linux系统中安装docker,可通过在线安装(centos的yum,ubuntu的apt-get等),离线rpm包安装,二进制文件安装等。基于一些环境因素的限制,不能通过在线安装,或rpm离线安装包依赖的问题,二进制文件安装docker显得简单且快速,本文介绍通过二进制文件安装docker。

离线包下载

mkdir -p ~/tools/docker

cd ~/tools/docker

wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.5.tgz

用户组配置

# 新建用户组

sudo groupadd docker

# 将登录用户加入到docker用户组中

sudo usermod -aG docker $USER

# 更新用户组

sudo newgrp docker

安装包解压

cd ~/tools/docker

mkdir install-package

# 用于清理

tar -xf docker-18.09.5.tgz -C install-package --strip-components=1

# 解压安装至/usr/local/bin目录下

sudo tar -xf docker-18.09.5.tgz -C /usr/local/bin --strip-components=1

配置docker服务

# 修改docker默认存储路径

sudo mkdir -p ~/data/docker

配置docker.service

在Linux系统配置systemctl管理的服务信息:参考官网文档

修改/etc/systemd/system/docker.service服务配置文件后,需要执行systemctl daemon-reload重新加载后生效。

sudo vi /etc/systemd/system/docker.service

将以下内容粘贴至docker.service中

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target

[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的启动可选参数,可通过dockerd --help查看

ExecStart=/usr/local/bin/dockerd -H unix://var/run/docker.sock -H tcp://0.0.0.0:2375 --data-root=/home/ubuntu/data/docker

ExecReload=/bin/kill -s HUP $MAINPID

TimeoutSec=0

RestartSec=2

Restart=always

# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.

# Both the old, and new location are accepted by systemd 229 and up, so using the old location

# to make them work for either version of systemd.

StartLimitBurst=3

# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.

# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make

# this option work for either version of systemd.

StartLimitInterval=60s

# Having non-zero Limit*s causes performance problems due to accounting overhead

# in the kernel. We recommend using cgroups to do container-local accounting.

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

# Comment TasksMax if your systemd version does not supports it.

# Only systemd 226 and above support this option.

TasksMax=infinity

# set delegate yes so that systemd does not reset the cgroups of docker containers

Delegate=yes

# kill only the docker process, not all processes in the cgroup

KillMode=process

[Install]

WantedBy=multi-user.target

启动docker服务

# 因为在/etc/systemd/system/docker.service已经配置了docker.service

# 所以只需重新加载docker服务的配置文件

# 参考关于systemd命令的资料https://blog.51cto.com/xuding/1730952

sudo systemctl daemon-reload

# 通过systemctl启动docker服务

sudo systemctl start docker

# 设置为开机启动

sudo systemctl enable docker

# 通过可执行文件dockerd启动docker服务

# sudo dockerd \

# --exec-root=/var/run/docker \

# --data-root=/home/ubuntu/data/docker \

# &

# 验证开放2375端口

sudo netstat -lntp | grep dockerd

彻底清理docker

# 本文只针对于通过解压安装包的方式进行docker的清理和卸载

# 停止docker服务

sudo systemctl stop docker

# 杀死docker进程(为防止特殊情况下有残留的docker进程)

ps -ef | grep docker | awk '{print $2}' | xargs sudo kill -s 9

# 删除持久化Docker状态的根目录

# 通过docker info |grep 'Docker Root Dir:'命令查看

# 默认值/var/lib/docker,可通过dockerd命令的--data-root选项修改

sudo rm -rf /home/ubuntu/data/docker

# 删除执行状态文件的根目录

# 默认值/var/run/docker,可通过dockerd命令的--exec-root选项修改

sudo rm -rf /var/run/docker

# 删除默认监听的Unix域套接字,容器中的进程可以通过它与Docker守护进程进行通信

sudo rm -rf /var/run/docker.sock

# 删除docker守护进程PID文件

# 默认值/var/run/docker.pid,可通过dockerd命令的-p或--pidfile选项修改

sudo rm -rf /var/run/docker.pid

# 删除系统服务配置文件

sudo rm -rf /etc/systemd/system/docker.service

# 删除docker配置文件

# 默认值/etc/docker/daemon.json,可通过dockerd命令的--config-file选项修改

sudo rm -rf /etc/docker/daemon.json

# 删除自动生成的文件,tls相关配置:~/.docker/{ca.pem,cert.pem,key.pem}

sudo rm -rf ~/.docker/

# 清理可执行文件

ls ~/tools/docker/install-package |awk '{print "/usr/local/bin/"$1}'|xargs sudo rm -rf

参考资料

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值