Docker 入门篇(二)-- Linux 环境离线安装

引言

docker 系列文章:

  • Docker 入门篇(一)-- 简介与安装教程(Windows和Linux)

一、安装环境准备

  1. centos :CentOS Linux release 7.6.1810 (Core)
  2. docker 版本:docker-26.1.0.tgz
    官网下载地址:点击下载
  3. docker-compose 版本:v2.26.1
    官网下载地址:点击下载

二、安装方式一:常规安装

  1. 上传 安装包 到 服务器 /root 目录 进行解压
tar -zxvf docker-26.1.0.tgz

在这里插入图片描述

  1. 复制文件
    将docker中的全部文件,使用下边命令,复制到/usr/bin
cp ./docker/* /usr/bin
  1. 创建docker.service文件
# 进入 /etc/systemd/system/ 目录
cd /etc/systemd/system/
# 创建 docker.service
touch docker.service

在这里插入图片描述

  1. 编辑docker.service文件
# 编辑 docker.service
vim docker.service

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

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

–insecure-registry=192.168.10.1

[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.10.1 
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
  1. 添加可执行权限:
chmod +x /etc/systemd/system/docker.service
  1. 重载配置文件:
systemctl daemon-reload
  1. 启动docker:
systemctl start docker
  1. 查看 docker 服务状态
systemctl status docker

在这里插入图片描述

  1. 设置开机自启动:
systemctl enable docker.service

三、安装方式二 :docker 脚本安装

  1. 创建 docker.service 文件
    在 docker-26.1.0.tgz同目录下 ,创建上文内容的 docker.service 文件

  2. 新建安装脚本文件 docker-install.sh

touch docker-install.sh

编辑docker-install.sh,内容如下

#!/bin/shecho '解压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
  1. 新建 docker 卸载脚本 docker-uninstall.sh
touch docker-uninstall.sh

编辑 docker-uninstall.sh,内容如下

#!/bin/shecho '停止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 '卸载成功'
  1. 赋予 脚本可执行权限。
chmod +x docker-install.sh
chmod +x docker-uninstall.sh
  1. 执行 脚本安装 docker
sh docker-install.sh  docker-26.1.0.tgz
  1. 查看docker状态
systemctl status docker

在这里插入图片描述

四、离线安装 docker-compose

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它采用YAML文件来配置应用程序的服务,然后使用一个命令,就可以启动并运行配置中的所有服务。通过Docker Compose,用户无需手动逐个启动容器,而是可以通过一个简单的配置文件来管理复杂的多容器应用程序。

1. 下载docker-compose

官方地址:

> https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64

2. 安装

将 docker-compose-linux-x86_64 文件上传到 /root 目录,执行下列命令

#移动文件到/usr/local/bin/,并重命名为docker-compose
sudo mv /root/docker-compose-linux-x86_64  /usr/local/bin/docker-compose
#赋予docker-compose 可执行权限。
sudo chmod +x /usr/local/bin/docker-compose

#查看版本 docker-compose version

docker-compose -v

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/3963.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【RAG 论文】Chain-of-Note:为 RAG 引入 CoT 让模型生成阅读笔记来提高面对噪音文档和未知场景的鲁棒性

论文:Chain-of-Note: Enhancing Robustness in Retrieval-Augmented Language Models ⭐⭐⭐ Tencent AI Lab, arXiv:2311.09210 文章目录 一、论文速读二、实现的细节2.1 Note Design2.2 Data Collection2.3 Model Training 三、实验结果3.1 QA Performance3.2 对 …

虚拟机VMware下ROS Neotic(Ubuntu 20.04)下安装OpenCV

一、ROS安装 ROS的官方安装步骤: 1、noetic / Ubuntu 20.04 : http://wiki.ros.org/noetic/Installation/Ubuntu 2、melodic / Ubuntu 18.04: http://wiki.ros.org/melodic/Installation/Ubuntu 3、kinetic / Ubuntu 16.04: http:…

第三节课,后端登录【1】.2--本人

一、视频链接 网址: 后端用户脱敏和session-CSDN直播 二、代码开始 2.1 新建一个request参数。完成用户登录态键 快捷建, 全局变量 代码: // 3.记录用户的登录态/*** 这段代码是Java Web开发中的一部分,用于在会话&#xff08…

【目标检测】FPN特征金字塔完整流程详解

学习视频:1.1.2 FPN结构详解 对比 可以看到FPN是自上而下、自下而上并且可以进行多尺度特征融合的的层级结构。 具体结构 1x1 conv: 对通道数进行调整,不同大小的特征图通道数不同,越高层次的特征图通道数越大,论文中使用256个1…

ChatGPT/GLM API使用

模型幻觉问题 在自然语言处理领域,幻觉(Hallucination)被定义为生成的内容与提供的源内容无关或不忠实,具体而言,是一种虚假的感知,但在表面上却似乎是真实的。产生背景 检索增强生成(RAG&…

leetcode541 反转字符串 II

给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符&…

线性神经网络示例

通过5个条件判定一件事情是否会发生,5个条件对这件事情是否发生的影响力不同,计算每个条件对这件事情发生的影响力多大,写一个线性神经网络模型pytorch程序,最后打印5个条件分别的影响力。 一 在这个场景中,一个线性神经网络&…

【python量化交易】——文章目录指引

【python量化交易】—— 文章目录指引 blog里的文章越来越多,初来乍到的读者朋友很可能会无法快速找到想看的主题,因此,我把文章按照主题归类,并随时更新以保持同步,以方便朋友们查找。 获取金融数据,请参…

代码随想录算法训练营DAY32|C++贪心算法Part.2|122.买卖股票的最佳时机II、55.跳跃游戏、45.跳跃游戏II

文章目录 122.买卖股票的最佳时机II思路CPP代码 55.跳跃游戏思路CPP代码 45.跳跃游戏II思路方法一代码改善 CPP代码 122.买卖股票的最佳时机II 力扣题目链接 文章讲解:122.买卖股票的最佳时机II 视频讲解: 状态:本题可以用动态规划&#xff0…

boa交叉编译(移植到arm)

参考:CentOS7 boa服务器的搭建和配置-CSDN博客 以下操作在宿主机/编译平台操作: 1. 先执行[参考]1到3、 4.2、4.3、4.4、4.5 2. 修改MakeFile # 由以下: CC gcc CPP gcc -E # 改为: CC arm-linux-gnueabihf-gcc CPP arm-l…

def iris_type(s);np.loadtxt;x, y = np.split;为什么进行切片;

目录 def iris_type(s): 字节字符串和字符串区别 data = np.loadtxt x, y = np.split 为什么进行切

【Flask】Flask中HTTP请求与接收

一、接收http请求与返回响应 在Flask中,可以通过app.route装饰器来定义路由函数。 app.route(/BringGoods,methods [POST, GET]) GET请求:使用request.args.get(key)或者request.values.get(key)来获取URL中的参数。 POST请求: 使用req…

SSH新功能揭秘:远程工作提升指南【AI写作】

首先,这篇文章是基于笔尖AI写作进行文章创作的,喜欢的宝子,也可以去体验下,解放双手,上班直接摸鱼~ 按照惯例,先介绍下这款笔尖AI写作,宝子也可以直接下滑跳过看正文~ 笔尖Ai写作:…

014_用vim复制粘贴_保持双手正位

[oeasy]python0014_用vim复制粘贴_保持双手正位 继续运行 🥊 回忆上次内容 程序员 还是 很可爱的 要关心 身边的程序员 啊 毕竟是新时代的 典型新职业 文明 主流职业 血型 渔猎采集文明 猎人 O 游牧文明 牧民 B 农业文明 农民 A 工业文明 工人 商…

*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL

*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C?CSTPTR MODULE: my51c.3.obj (my51c_3) *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C?CLDPTR MODULE: my51c.3.obj (my51c_3) *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYM…

红魔9pro/9pro+秒解锁BL+获取root权限+刷国际版+救砖降级刷机教程

红魔8开始,官方对刷机就进行了很多限制,常见的就是阉割了解锁BL指令,让我们不能自 己解锁BL刷机了,而8代旧版并没有严格,自然我们可以使用旧版的abl分区来实现解锁BL 红魔9代发布开始,官方直接阉割了全部Ab…

【运维】Git 分支管理

一般来讲,系统代码需要经过研发、测试、生产三种环境。那么在Git上如何管理分支,才不会乱?在线上生产环境有问题时有条不紊的解决。 经过发展,有一个Git Flow原理可帮助解决。设置以下几种分支。 master——production生产环境。…

unity读写本地excel_2024.4.22

using System.Collections; using System.Collections.Generic; using UnityEngine; using OfficeOpenXml; using System.IO; using Excel; using System.Data; using System; /// <summary> /// https://blog.csdn.net/Xz616/article/details/128893023 /// Unity3D操作…

Prometheus数据模型与查询语言:构建高效监控系统的关键

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Prometheus&#xff1a;监控的神》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、Prometheus诞生史 二、Prometheus的数据模型与查询语…

Java基础入门day40

day40 DQL 分组补充 create table student(sid int,name varchar(20),sex char(6),score double,cid int ); ​ insert into student values(100, wukong, male, 99, 1); insert into student values(101, wuneng, male, 59, 1); insert into student values(102, wujing, ma…