首页 > 系统相关 >linux系统离线安装docker(分步法&一键法)

linux系统离线安装docker(分步法&一键法)

时间:2023-03-18 17:25:02浏览次数:45  
标签:文件 systemd service 一键 分步法 离线 sh linux docker

https://blog.csdn.net/chexlong/article/details/127932711

 

1 前言
在有的项目场景中,服务器是不允许连接外网的。此时若想在服务器上安装部署docker容器,就不能采用在线方式了,不过可以采取离线方式进行安装。下面我们就一起看看离线安装的两种办法。

一种是分步安装法,一种是一键安装法。

2 安装准备
首先在另一台可外网的电脑上,下载docker离线安装包。下载地址如下:

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

这里我们选择稳定的社区版docker-18.06.3-ce.tgz。

 

 

 

下载好后,将文件docker-18.06.3-ce.tgz用WinSCP等工具,上传到不能外网的linux系统服务器上,这里用Centos7.9系统作为示例。

 

3 分步安装法
3.1 解压
tar -zxvf docker-18.06.3-ce.tgz
解压后的文件夹docker中文件如下所示:

 

3.2 复制文件
将docker中的全部文件,使用下边命令,复制到/usr/bin

cp ./docker/* /usr/bin
3.3 创建docker.service文件
cd /etc/systemd/system/
touch docker.service


3.4 编辑docker.service文件
首先打开docker.service

vim docker.service
然后将下边内容复制到docker.service。

注意,将其中的ip地址,改成您的服务器地址,其它参数不用改。

--insecure-registry=192.168.205.230

[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 --selinux-enabled=false --insecure-registry=192.168.205.230
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
编辑好后,ESC键à:wq保存并退出docker.service文件。

3.5 添加可执行权限
chmod +x docker.service
3.6 加载docker.service
systemctl daemon-reload
注意,若修改了docker.service文件,则要重新加载该文件。

3.7 启动docker
systemctl start docker
3.8查看docker
systemctl status docker


docker -v

3.9 设置开机自启动
systemctl enable docker.service
这样每次系统启动时,docker就自动随机启动了。

4 一键安装法
如果您觉得上边的步骤繁琐,也可以用下边的办法,一键安装docker。

4.1 制作docker.service文件
在docker-18.06.3-ce.tgz同目录下,创建docker.service,打开编辑文件,文件内容与3.4节完全一样,此处不再赘述。

4.2 制作一键安装脚本
touch install.sh
打开编辑install.sh,将以下内容复制到install.sh,保存退出。

#!/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
4.3 制作一键卸载脚本
Touch uninstall.sh,将以下内容复制到uninstall.sh,保存退出。

#!/bin/sh

echo '停止docker'
systemctl stop docker
echo '删除docker.service'
rm -f /etc/systemd/system/docker.service
echo '删除docker文件'
rm -rf /usr/bin/docker*
echo '重新加载配置文件'
systemctl daemon-reload
echo '卸载成功'
4.4 安装docker
此时docker-18.06.3-ce.tgz同目录下,还有上边创建的docker.service,install.sh,uninstall.sh这3个文件:

 

分别给install.sh和uninstall.sh赋予可执行权限。

chmod +x install.sh
chmod +x uninstall.sh
开始安装

sh install.sh docker-18.06.3-ce.tgz
查看docker状态


5 总结
一键安装法,其实是将分步安装法的步骤,集中写到一个shell脚本,其过程实质上是一样的,优点就是在一台新的机器上安装时,能节约时间,也不容易出错。如果想卸载docker,一键操作也很方便。

 

标签:文件,systemd,service,一键,分步法,离线,sh,linux,docker
From: https://www.cnblogs.com/xincha/p/17231231.html

相关文章

  • linux ESP32开发环境(idf可选择5.0/4.4.4...)
    1、 下载VMware17pro虚拟机下载地址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html  2、下载ubuntu推荐下载地址:http......
  • Linux安装Nacos
    nacos安装版本:v2.1.1#获取压缩包、解压wgethttps://github.com/alibaba/nacos/releases/download/2.1.1/nacos-server-2.1.1.zipunzipnacos-server-2.1.1.zip###......
  • Linux day1
    配置源curl-s-o/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.163.com/.help/CentOS7-Base-163.repocurl-s-o/etc/yum.repos.d/CentOS-Base.repohttp://mirror......
  • linux环境下部署mysql环境
    一、部署步骤1、将安装包上传到Linux服务器上(目录随意),然后解压缩2、进入到解压后的目录下,分别执行以下命令安装四个包(严格按照顺序执行)rpm-ivhmysql-community-com......
  • Linux下安装jdk的步骤与bug
    Linux下安装jdk的步骤与bug步骤:先在/opt/下创建一个software文件,用于存放压缩包进入opt下:cd/opt创建software文件:sudovimsoftware在software/下用......
  • Linux进程调度的思考
    a.进程怎么载入到CPU中运行?b.当前进程正在运行,怎么确定是否要切换下一个进程?c.怎么选出下一个进程?d.选择进程的算法和优先级?e.介绍一下常用的算法调度逻辑?f.从......
  • [linux][uvc]YUV格式编码的图片
    YUV格式编码的图片,在Linux下需要安装ffmpeg。#安装ffmpeg$sudoaptinstallffmpeg#查看图片,需要注意的是YUV图像的信息中并没有存储宽和高,所以在打开时需要指定图像......
  • [linux][uart] open uart error
    questionExitcode2-cannotopendevice/dev/ttyUSB0microcom-s115200-p/dev/ttyUSB0Usage:microcom[options][options]include:-p,--port=<devfil......
  • [linux]uvc摄像头调试
    uvc摄像头调试改分辨率:源码中v412fmt.fmt.pix.width图像宽度v412fmt.fmt.pix.height图像高度/**capturingfromUVC*platform:rk3568*/#include<stdi......
  • Linux学习笔记
    转载自acwing的yxc常用文件管理命令(1)ctrlc:取消命令,并且换行(2)ctrlu:清空本行命令(3)tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选......