首页 > 其他分享 >离线安装Docker、docker-compose、harbor、rancher、jenkins

离线安装Docker、docker-compose、harbor、rancher、jenkins

时间:2023-04-11 19:12:09浏览次数:51  
标签:compose service harbor xxx 离线 echo docker

全文重点参考https://blog.csdn.net/yuyangchenhao/article/details/117573732

部署环境:

1. centos 7

2. ubuntu 22.04

3. 树莓派(这部分另写)

离线环境下部署。

0. 前期准备

  本文使用了上面博客提供的全部文件,可自行下载:

https://pan.baidu.com/s/1Vp8R0Ac8KLHw2KlOiqtK8A 
提取码:n46d

 

其中版本为:

docker :19.03.4 ;

docker-compose : 1.25.0 ;

harbor :V1.9.3;  

rancher : 2.4.2 ; 

注意,habor安装时有docker最低版本要求,这个版本下 docker 版本至少为17.06.0以上, 同时安装harbor之前需要先安装好docker和docker-compose;

 

1. 安装 docker 

  我指定的目录:/home/Downloads,找个地方放就行。

  首先要将下载好的 docker-19.03.4.tgz 文件上传到你指定的目录中,在该目录下进行如下操作:

1.1 准备 docker.service 配置文件

#创建docker.service文件
touch docker.service
#vim打开,将下面的内容写入
vim docker.service

  或者在别的地方准备好docker.service文件,在上传到指定目录中。

  docker.service内容如下:(ps:在我参考的博客中的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

 1.2 安装

   为了方便,直接写成脚本形式,当然也可以依次输入命令(忽略echo)

install.sh

#!/bin/sh
echo '解压tar包...'
tar -xvf docker-19.03.4.tgz    # 写实际docker安装包名
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.service里是否与本文一致

2. 为了避免每次都有用 sudo命令,可以将用户名加入docker用户组

# 1.创建docker用户组
groupadd docker
# 2.将用户加入docker用户组
usermod -aG docker ${USER}    #写用户名就行
# 3.更新用户组
newgrp docker
# 4.重启docker服务
systemctl restart docker

1.3 卸载

  按照如下操作可以卸载docker

uninstall.sh

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

 

2. 安装docker-compose 

   将下载好的 docker-compose-Linux-x86_64 上传到指定目录。

2.1 安装

  依次执行以下命令:

# 1.将安装文件复制到/usr/local/bin/目录下
cp docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

# 2.将该文件赋为可执行文件
chmod +x /usr/local/bin/docker-compose

# 3.创建软链
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# 4.测试是否安装成功
docker-compose -version

  出现docker-compose版本号,则安装成功:

2.2 卸载

  卸载只需执行:

rm -rf /usr/local/bin/docker-compose

 

3. 安装 Harbor 私有仓库

  将下载好的 harbor-offline-installer-v1.9.3.tgz 上传到指定目录。

3.1 安装

1. 解压

tar zxvf harbor-offline-installer-v1.9.3.tgz

2. 修改 harbor.yml 文件

2.1 进入解压harbor-offline-installer-v1.9.3.tgz文件后出现的harbor文件夹

cd /home/tomcat/harbor

2.2 修改harbor.yml文件

vim harbor.yml

  将hostname改成服务器的IP地址,port改成8800(防止与rancher端口冲突即可),可选择性修改harbor_admin_password属性:admin账户密码;测试环境使用http协议,不使用CA证书。

  需要注意的是 hostname,这里是自定义的,自己按照格式起一个名。

// 设置主机名
[root@localhost harbor]# hostnamectl set-hostname manager.com
[root@localhost harbor]# bash
[root@node1 harbor]# hostname
manager.com

// 添加主机映射
[root@localhost harbor]# vim /etc/hosts 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.91.137 manager.com

// 测试能否ping通 manager.com 主机
[root@localhost harbor]# ping manager.com
PING node1.example.com (192.168.91.137) 56(84) bytes of data.
64 bytes from node1.example.com (192.168.91.137): icmp_seq=1 ttl=64 time=0.044 ms
64 bytes from node1.example.com (192.168.91.137): icmp_seq=2 ttl=64 time=0.033 ms

 参考博客:https://blog.csdn.net/Gf19991225/article/details/121982824

 3. 执行 harbor 安装脚本 

./install.sh

 

4. 打开浏览器进入 harbor 图形化界面

4.1  登录地址 : http://192.168.222.135 :8800

  账号:admit

  密码:默认是Harbor12345,刚刚如果改了就用自己改的

4.2  添加用户

  左菜单栏:系统管理 -> 用户管理 -> 创建用户

4.3 设置管理员

4.4 修改 daemon.json 文件

vim /etc/docker/daemon.json

  daemon.json文件中添加如下json(xxx.xxx.xxx.xxx为你的ip地址)

{
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],
    "insecure-registries":["https://xxx.xxx.xxx.xxx:8800"]
}

   保存并重启docker

systemctl daemon-reload
systemctl restart docker
docker-compose up -d

  进入harbor目录,执行命令刷新harbor配置

cd /home/Downloads/harbor
./prepare
./install.sh

  使用命令登录docker 

docker login xxx.xxx.xxx.xxx:8800

 

  登出命令

docker logout xxx.xxx.xxx.xxx:8800

 

 

 

 

 

 

标签:compose,service,harbor,xxx,离线,echo,docker
From: https://www.cnblogs.com/astonc/p/17307333.html

相关文章

  • Kotlin Compose 删除条目并刷新数据源 Flow 与Pager3 与 Compose 最佳做法
    删除方式有很多种。。成功的却不多。。分享一下首先在viewModel中创建两个变量privateval_deletedDialogHashs=mutableStateOf(setOf<String>())valdeletedDialogHashs:State<Set<String>>=_deletedDialogHashs在viewModel中声明的删除方法也很简单funremoveFeedDial......
  • ubuntu上安装docker-compose遇到Permission denied问题
    根据github.com/docker/compose/releases中安装compose的说明,在ubuntu上执行以下安装命令:curl-L https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose命令执行返回的结果是:-bash:/usr/......
  • Docker-Compose
    一、简介1、官网、GitHubTryDockerComposehttps://github.com/docker/compose/releases/2、docker-compose 项目是docker官方的开源项目,负责实现对docker容器集群的快速编排,来轻松高效的管理容器,定义运行多个容器。docker-compose将所管理的容器分为三层, 分别是工程(pr......
  • Composer命令全解析
    常用命令镜像#配置中国镜像composerconfig-grepo.packagistcomposerhttps://packagist.phpcomposer.com#配置其他厂商镜像#阿里云(好像说停用了)composerconfig-grepo.packagistcomposerhttps://mirrors.aliyun.com/composer/#腾讯composerconfig-grepo.packag......
  • odoo Docker Compose 部署
    1.docker-compose.yml配置version:'3.1'services:web: image:odoo:14 depends_on: -mydb ports: -"8069:8069" environment: -HOST=mydb -USER=odoo -PASSWORD=myodoo volumes: -odoo-web-data:/var/lib/odoo -./config......
  • #yyds干货盘点#【愚公系列】2023年04月 .NET CORE工具案例-多语言离线翻译系统
    前言1.在线翻译在线翻译,一般是指在线翻译工具,如百度翻译、阿里翻译1688或Google翻译等。这类翻译工具的作用是利用计算机程序将一种自然语言(源语言)转换为另一种自然语言(目标语言)。其原理是依托海量的互联网数据资源和自然语言处理技术,在数百万篇文档中查找各种模式,以求解最佳......
  • jenkins+gitlab+harbor部署CICD
    jenkins相关操作docker部署jenkinsdockerrun--namejenkins-d-p8080:8080-p50000:50000--privileged=true--restart=always-v/jenkins/home:/var/jenkins_home-v/var/run/docker.sock:/var/run/docker.sock-v/usr/bin/docker:/usr/bin/dockerjenkins/jenkins:2......
  • .NET Core 离线 生成 Tron 波场私钥和地址笔记
    NuGet引入依赖库PM>Install-PackageTron.Wallet.Net随机生成私钥和对应的地址usingTron.Wallet.Net;namespaceConsoleApp1{internalclassProgram{staticasyncTaskMain(string[]args){vartronECKey=TronECKey.GenerateKey(TronN......
  • 开启 HTTP/3 & QUIC 在 Docker Compose+Nginx
    HTTP/3基于UDP的QUIC协议,多路复用安全传输HTTP/1.1和HTTP/2都将TCP用作其传输协议HTTP/3和QUIC具有很多优势:1.第一个请求的响应时间更短。在客户端和服务器之间以较少的往返次数协商连接,第一个请求会更快地到达服务器。2.改进了发生连接数据包丢失时的体验。HTT......
  • Docker-compose 到 Kubernetes 的迁移工具!
    在skippbox,我们开发了Kompose这一工具,他能够自动把DockerCompose应用转换为Kubernetes描述文件。利用一个简单的komposeup 命令,就可以在Kubernetes集群上启动Compose应用。我们非常乐于将其捐献给KubernetesIncubator。下面介绍一下这一工具的开发动机和用法......