首页 > 其他分享 >内网环境下离线安装Docker

内网环境下离线安装Docker

时间:2024-06-03 13:54:16浏览次数:18  
标签:systemd 版本号 离线 systemctl 镜像 Docker 安装 docker

1、系统要求

首先需要确定 CentOS7 的内核版本号,因为 docker 安装要求 Linux 内核版本在 3.10 及以上。查看内核版本号:

uname -r

# CentOS7 内核版本号为:3.10.0-957.5.1.el7.x86_64

查看系统名称:

cat /etc/redhat-release

# CentOS Linux release 7.6.1810 (Core) 

2、下载Docker

Docker官网:Docker: Accelerated Container Application Development

Docker引擎安装说明:在 CentOS 上安装 Docker 引擎 |Docker 文档

Docker二进制安装说明:从二进制文件安装 Docker 引擎 |Docker 文档

因为这里要使用离线安装Docker,所以为二进制安装。需要下载二进制文件。下载地址:https://download.docker.com/linux/static/stable/x86_64/

选择版本进行下载,下载成功后解压docker包。

tar -zxvf docker-26.1.3.tgz

3、安装Docker

将解压出来的docker文件内容拷贝或者移动到 /usr/bin/目录下

cp docker/* /usr/bin/

然后就可以使用 docker -v 或者 docker info 命令验证是否可以输出docker信息了。因为没有开启守护进程,docker 其他命令还不能使用。所以需要编写docker.service 文件加入Linux服务当中并开启守护进程。

编辑文件:

vim /etc/systemd/system/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 -H unix:///var/run/docker.sock --selinux-enabled=false --default-ulimit nofile=65536:65536
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

如果需要开启远程服务ExecStart属性修改为以下命令:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --selinux-enabled=false --default-ulimit nofile=65536:65536

# -H tcp://0.0.0.0:2375 开启远程连接命令

添加文件可执行权限

chmod +x /etc/systemd/system/docker.service

配置成功后,重新加载 daemon 服务

systemctl daemon-reload

启动 docker 服务

systemctl start docker

4、配置Docker镜像

在目录 etc 下面创建一个 docker 文件夹,进入 docker目录创建 daemon.json 文件

vim daemon.json

加入从阿里云申请的镜像源地址。

{
  "registry-mirrors": ["https://ejes884z.mirror.aliyuncs.com"],
  "log-driver":"json-file",
  "log-opts": {"max-size":"1g", "max-file":"3"},
  "live-restore": true
}

# registry-mirrors 个人镜像源地址, 如果有多个仓库, 在相应的列表里增加即可。
# log-driver log-opts 全局配置容器日志大小,如果不配置没有限制大小,后面有可能会导致磁盘崩盘
# live-restore 更新daemon.json配置文件时,自动加载配置,不用重新启动Docker

配置成功后,重新启动Docker

5、Docker服务相关命令

重新加载配置文件

systemctl daemon-reload

启动 docker 服务

systemctl start docker

查看 docker 服务的运行状态

systemctl status docker

停止运行

systemctl stop docker

重新启动

systemctl restart docker

将 docker 服务设置为开机自动启动

systemctl enable docker

禁用开机自动启动

systemctl disabled docker

查看docker开机自动启动状态 enabled:开启, disabled:关闭

systemctl is-enabled docker.service

查看 docker 版本号

docker -v

docker version

6、导出和导入镜像

首先在可以连接网络的服务器上面获取相关软件镜像,然后通过 saveload 命令导出和导入镜像。由于导入的镜像没有镜像名称和 tag 版本号,需要使用 docker tag 命令 修改导入的镜像命令。

docker导出镜像:

docker save 99ee9af2b6b1 > redis.tar # 99ee9af2b6b1 镜像ID

docker导入镜像:

docker load < redis.tar

docker修改镜像标签名称:

 docker tag 99ee9af2b6b1 redis:3.2.0  #99ee9af2b6b1 镜像ID  镜像名称:版本号

标签:systemd,版本号,离线,systemctl,镜像,Docker,安装,docker
From: https://www.cnblogs.com/sowler/p/18228732

相关文章

  • webpack的安装和使用
    Webpack简介Webpack是基于模块化的打包(构建)工具,它把一切视为模块;它通过一个开发时态的入口模块为起点,分析出所有的依赖关系,然后经过一系列过程(压缩,合并),最终生成运行时态的文件。webpack的特点:为前端工程化而生:webpack致力于解决前端工程化,特别是浏览器端工程化中遇到的问题,让......
  • 【Docker】docker-compose文件快速部署RustDesk远程桌面平替TeamViewer
    1.服务器安装Docker服务2.创建docker-compose.yaml文件version:'3'networks:rustdesk-net:external:falseservices:hbbs:#RustDeskID/Rendezvous服务器container_name:hbbsports:-21115:21115#用于NAT类型测试的TCP......
  • 史上最全Docker教程,从容器发展史到实操(一)
    前言:今天我们所说的容器是一种IT技术。容器其实是一种沙盒技术。顾名思义,沙盒就是能够像一个集装箱一样,把你的应用装起来。这样,应用与应用之间就有了边界而不会相互干扰;同时装在沙盒里面的应用,也可以很方便的被搬来搬去,这也是PaaS想要的最理想的状态(可移植性,标准化,隔离性)......
  • Docker consul 容器服务更新与发现
    一、Consul介绍1. 什么是服务注册与发现服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必......
  • lvs安装文档
    目录1.检测内核是否支持了lvs2.安装依赖3.安装ipvsadm1.检测内核是否支持了lvsCentos6.5的内核已经支持了lvs,所有只需要安装lvs的管理工具ipvsadm即可;检查linux内核是否集成lvs模块:modprobe-l|grepipvs开启路由转发功能:echo"1">/proc/sys/net/ipv4/ip_forwa......
  • Cacti EZ中文版 12.2.27 ISO 下载安装
    简介修改了yum源为中国高校联合镜像源github改为gitee。系统增加中文语言包。修改时区为东八区。增加了常用的软件包。PS:CactiEZ是一个自动化安装cacti和插件的ISO镜像,本教程的ISO是基于官方的IOS针对国内网络做了修改。可按照目前最新的Cacti1.2.26版本安装......
  • 五、docker部署xxl-job
    1、下载xxl-jo-admin的镜像dockerpullxuxueli/xxl-job-admin:2.3.02、运行xxl-job容器dockerrun-ePARAMS="--spring.datasource.url=jdbc:mysql://mysql.mysql-hf04-mqowye.svc.hfb.ipaas.cn:8066/xxl_job?Unicode=true&characterEncoding=UTF-8--spring.datasourc......
  • Ubuntu server 24 (Linux) IPtables 双网卡 共享上网NAT 安装配置DHCP
    一 开启路由转发功能sudovim/etc/sysctl.confnet.ipv4.ip_forward=1sudosysctl-p二 安装DHCP#更新软件包列表:sudoaptupdate#安装DHCP服务器sudoaptinstallisc-dhcp-server#修改监听网卡,根据实际修改sudovi/etc/default/isc-dhcp-serverINTERFACESv4=......
  • Linux上安装并配置docker
    1.卸载旧版首先如果系统中已经存在旧的Docker,则先卸载:yumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine 2.配置Docker的yum库首先......
  • 解决安装cuda时vs报错MSB3721的问题
    以下几种可能1.调整调试平台为x642.点击vs顶部导航栏的调试->最下面那一项属性->CUDAC/C++->Common->CUDADustuomDir设置为你安装CUDAtoolkit的目录3.如果你的电脑系统用户名为中文,请前往环境变量->用户变量,将tmp和temp的值修改为一个新文件夹(建议在D盘里面创建一个tem......