麒麟系统(Liunx)离线安装docker和docker compose

一、前言

  在工作中遇到客户服务器的网络限制,不允许连接外网,并且由于客户的服务器是银河麒麟系统(麒麟系统是国家专项支持下,以Linux为内核的操作系统),在本地VMware虚拟机中的银河麒麟系统,用dnf安装的docker引擎,在运行docker镜像的时候出现了问题(具体什么原因没弄清楚,离线安装了最新的docker就好了),因此需要离线安装docker。担心时间长了自己会忘记,因此把这次经历记录下来,也希望能帮助到其他人。

二、准备工作

1、查看操作系统版本
cat /proc/version
#或者
uname -a
2、查看操作系统架构
arch
#或者
uname -m

三、安装docker和docker compose

1、下载docker离线包

下载地址:https://download.docker.com/linux/static/stable/
选择对应的系统架构:
docker下载
docker的版本选择最新社区版,目前版本是:docker-18.06.3-ce.tgz

2、下载docker compose离线包

下载地址:https://github.com/docker/compose/releases
选择对应系统架构的离线安装包:
docker compose下载

3、准备 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=/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

将脚本内容保存为 “docker.service”文件。

4、准备docker的安装脚本文件
#!/bin/sh
# 
# 说明:离线安装 docker 和 docker-compose 
# 日期:2023-01-06
# 作者:zhb

echo '解压tar包...'
tar -xvf docker-18.06.3-ce.tgz
echo '将docker目录移动/usr/bin目录下...'
cp -p docker/* /usr/bin/
rm -rf docker/
echo '将docker-compose文件复制到/usr/local/bin/目录下,并重命名为docker-compose'
cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose
echo '添加docker-compose文件权限'
chmod +x /usr/local/bin/docker-compose
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

将脚本内容保存为“install.sh”。

5、准备docker的卸载脚本文件
#!/bin/sh
# 
# 说明:卸载离线安装的 docker 和 docker-compose 
# 日期:2023-01-06
# 作者:zhb

echo '删除docker.service...'
rm -f /etc/systemd/system/docker.service
echo '删除docker文件...'
rm -rf /usr/bin/docker*
echo '删除docker-compose文件'
rm -f /usr/local/bin/docker-compose 
echo '重新加载配置文件'
systemctl daemon-reload
echo '卸载成功...'

将脚本内容保存为“uninstall.sh”。

6、安装 docker 和 docker compose 离线包

“docker-18.06.3-ce.tgz” (docker压缩包)、“docker-compose-linux-x86_64” (docker compose文件)、“docker.service” (docker服务文件)、“install.sh” (安装脚本) 、 “uninstall.sh” (卸载脚本)
将这 5 个文件上传到服务器。
因为脚本是在windows系统上面编写的到linux上面执行会有编码问题,所以首先要处理编码问题。
执行处理编码问题的脚本

sed -i 's/\r$//' docker.service
sed -i 's/\r$//' install.sh
sed -i 's/\r$//' uninstall.sh

运行 install.sh 文件进行安装

sh install.sh

运行 uninstall.sh 文件可以进行卸载

sh uninstall.sh
7、验证安装是否成功
docker -v # 验证docker是否安装成功
# 显示 docker 的版本信息,表示安装成功
Docker version 18.06.3-ce, build d7080c1

docker-compose -v #验证docker compose是否安装成功
# 显示 docker compose 的版本信息,表示安装成功
Docker Compose version v2.15.0

说明:用 docker-compose -v 验证是否安装成功,可能会显示不了docker compose 的版本号,需要重新打开终端。

  • 20
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Linux上进行离线安装MySQL可以分为以下几个步骤: 1. 下载MySQL安装包:在MySQL官方网站或镜像站点上下载对应版本的MySQL安装包。确保下载的文件是完整且没有被损坏。 2. 复制安装包到Linux系统:将下载好的MySQL安装包复制到Linux系统中的一个目录,例如/home/user/mysql。 3. 解压安装包:打开终端,进入到安装包所在的目录,执行以下命令进行解压: ```shell tar zxvf mysql-xxx.tar.gz ``` 这里的xxx为对应的版本号。 4. 设置安装目录:进入解压后的文件夹,找到一个名为"my.cnf"的文件,将其重命名为"my.cnf.bak",然后创建一个新的"my.cnf"文件。在新的"my.cnf"文件中,设置MySQL的安装目录,例如: ```shell [mysql] basedir=/usr/local/mysql datadir=/usr/local/mysql/data ``` 这里的/usr/local/mysql为安装目录,/usr/local/mysql/data为MySQL数据库文件存放的目录。 5. 创建MySQL用户和目录:打开终端,执行以下命令创建MySQL用户和相关目录: ```shell groupadd mysql useradd -g mysql mysql cd /usr/local/mysql mkdir data chown -R mysql:mysql . ``` 这些命令会创建一个名为mysql的用户组,一个名为mysql的用户,创建MySQL数据目录并将其所有权赋予mysql用户。 6. 执行安装:进入解压后的MySQL文件夹,执行以下命令进行安装: ```shell ./configure --prefix=/usr/local/mysql --with-charset=utf8 make make install ``` 这些命令会根据设置的安装目录和字符集进行MySQL的安装。 7. 初始化数据库:执行以下命令初始化MySQL数据库: ```shell cd /usr/local/mysql scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data chown -R root . chown -R mysql data ``` 这些命令会初始化MySQL的数据文件。 8. 配置环境变量:将MySQL添加到系统的环境变量中,打开终端,执行以下命令: ```shell export PATH=/usr/local/mysql/bin:$PATH ``` 现在,MySQL已经成功地离线安装Linux系统中。可以通过命令"mysql"来启动和管理MySQL数据库。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值