Linux环境docker离线安装教程

Linux环境docker离线安装教程

  • [1. 准备离线包](#1. 准备离线包)
  • [2. 准备docker.service 系统配置文件](#2. 准备docker.service 系统配置文件)
  • [3. 准备安装脚本和卸载脚本](#3. 准备安装脚本和卸载脚本)
  • [4. 安装](#4. 安装)
    • [4.1 此时目录为:(只需要关注docker-17.03.2-ce.tgz、docker.service、install.sh、uninstall.sh即可)](#4.1 此时目录为:(只需要关注docker-17.03.2-ce.tgz、docker.service、install.sh、uninstall.sh即可))
    • [4.2 执行脚本sh install.sh docker-17.03.2-ce.tgz](#4.2 执行脚本sh install.sh docker-17.03.2-ce.tgz)
    • [待脚本执行完毕后,执行 docker -v](#待脚本执行完毕后,执行 docker -v)
    • [4.3 如果你想卸载docker,此时执行脚本 sh uninstall.sh 即可](#4.3 如果你想卸载docker,此时执行脚本 sh uninstall.sh 即可)

1. 准备离线包

https://download.docker.com/linux/static/stable/x86_64/

下载需要安装的docker版本,这里已docker-17.03.2-ce.tgz版本为例子。

2. 准备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=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# 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
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# 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
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

3. 准备安装脚本和卸载脚本

安装脚本 install.sh

powershell 复制代码
#!/bin/sh
echo '解压tar包...'
tar -xvf $1
echo '将docker目录移到/usr/bin目录下...'
cp docker/* /usr/bin/
echo '将docker.service 移到/etc/systemd/system/ 目录...'
cp docker.service /etc/systemd/system/
echo '添加文件权限...'
chmod +x /etc/systemd/system/docker.service
echo '重新加载配置文件...'
systemctl daemon-reload
echo '启动docker...'
systemctl start docker
echo '设置开机自启...'
systemctl enable docker.service
echo 'docker安装成功...'
docker -v

卸载脚本 uninstall.sh

powershell 复制代码
#!/bin/sh
echo '删除docker.service...'
rm -f /etc/systemd/system/docker.service
echo '删除docker文件...'
rm -rf /usr/bin/docker*
echo '重新加载配置文件'
systemctl daemon-reload
echo '卸载成功...'

4. 安装

4.1 此时目录为:(只需要关注docker-17.03.2-ce.tgz、docker.service、install.sh、uninstall.sh即可)

4.2 执行脚本sh install.sh docker-17.03.2-ce.tgz

待脚本执行完毕后,执行 docker -v

发现此时docker已安装成功,可以用 docker --help 查看docker命令,从现在开始你就可以自己安装image和container了

4.3 如果你想卸载docker,此时执行脚本 sh uninstall.sh 即可

相关推荐
zx_7414848120 分钟前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS32 分钟前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
九皇叔叔34 分钟前
K8S 资源菜单
docker·容器·kubernetes·k8s
金士顿43 分钟前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog2 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞2 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲2 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz2 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试
zoutao982 小时前
Gitea Actions 自定义 Runner 镜像与自动化部署实战
ci/cd·docker·gitea
susplus3 小时前
【ARM 裸机开发 (IMX6ULL-mini)】GNU工具、Makefile 工程构建、链接脚本详解|C 语言点灯 + 蜂鸣器驱动
linux·arm·makefile·imx6ull