Docker(harbor)镜像仓库搭建

docker 基础教程

一,docker简介

1.Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。
2.docker相对于VM还要轻量级的技术,要说感觉的化类似于jar包,docker容器已经打包好了所有程序,只需要将容器在有资源的服务器上运行起来就是一个成型的产品,迁移时只需要将容器重新打包下来,导入到其他服务器即可运行。
3.Docker支持64位版本的CentOS 7和CentOS 8及更高版本,它要求Linux内核版本不低于3.10。
4.通常是一台虚拟机安装一个Docker,也可以多台机器安装多个Docker,组成Docker集群,每个Docker里面包含了诸多镜像,运行镜像产生容器,一个镜像可以运行多个容器,每个容器运营一个微服务。

docker和虚拟机的对比

虚拟机(虚拟机连硬件都模拟,模拟的一个完整的操作系统)的缺点:
1、资源占用多
2、冗余步骤多
3、启动慢

Docker和传统虚拟化方式的不同之处:
传统的虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上在运行所需应用进程。
而容器内的应用进程直接运行与宿主机的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
每个容器之间相互隔离,每个容器自己有自己的文件系统,容器之间的进程不会互相影响,能区分计算资源。

在这里插入图片描述

二,安装docker

阿里官网下载:https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.57e31b11KLDD65
这里我将centos安装阿里dockker镜像源和安装docker的方法复制出来了(需要链接外网)

1. 如果之前安装过docker执行以下步骤,没有跳过此步骤


rm -rf /etc/docker
rm -rf /run/docker
rm -rf /var/lib/dockershim
rm -rf /var/lib/docker

umount /var/lib/docker/devicemapper
#查看有哪些docker程序已安装并卸载掉
yum list installed | grep docker

我这里只有docker-client和docker-common
在这里插入图片描述

yum remove -y docker-client docker-common
yum list installed |grep docker
docker version

在这里插入图片描述

2. 开始安装docker


# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]

在这里插入图片描述

#验证下安装是否成功
docker version

在这里插入图片描述

三,安装私有化仓库Harbor

1.前置要求

安装dcoker-compose

这个是官方地址,可能比较慢,推荐使用下面的国内镜像地址

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

国内镜像地址

curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version

在这里插入图片描述

安装openssl
yum install -y openssl
yum list |grep openssl

在这里插入图片描述

2.harbor离线安装

2.1.harbor离线包下载

https://github.com/goharbor/harbor/releases
在这里插入图片描述

2.2.解压配置仓库信息
tar xf harbor-offline-installer-v2.7.0.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml

hostname 安装harbor的那台IP的地址
port:harbor的端口自定义即可

在这里插入图片描述

harbor_admin_password 自定义密码

在这里插入图片描述

2.3.开始安装
sh install.sh

在这里插入图片描述

浏览器访问192.168.30.101:9687 IP和端口是之前harbor.yml文件中设置好的,密码是harbor_admin_password的内容

在这里插入图片描述

2.4.新建项目

-1代表无限大

在这里插入图片描述

2.5.修改后台配置指向私有仓库

这是我的另外一台(docker02)节点上面已经装好了docker,把镜像仓库指地址向到我已经搭好仓库的那台

vim /etc/docker/daemon.json

在这里插入图片描述

重启docker,让仓库地址生效

systemctl restart docker

3.打包并上传镜像到私有仓库

3.1 .配置阿里云公网镜像库加私有化仓库

docker01节点操作

vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://72idtxd8.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.30.101:9687"]
}

在这里插入图片描述

3.2.重启docker让配置生效
systemctl restart docker
systemctl status docker

在这里插入图片描述

3.3.拉取镜像

因为是公网拉取的应该不快

docker pull mysql

在这里插入图片描述

docker images

在这里插入图片描述

3.4.上传从外网下载的镜像到私有仓库

打包已有镜像为新的镜像

docker tag mysql:latest 192.168.30.101:9687/registry/mysql:v2
docker images

在这里插入图片描述

3.5.登入harbor
docker login -u admin -p admin 192.168.30.101:9687

在这里插入图片描述

3.6.上传镜像
docker push 192.168.30.101:9687/registry/mysql:v2

在这里插入图片描述

在这里插入图片描述

3.7.换到docker02节点拉取镜像
docker pull 192.168.30.101:9687/registry/mysql:v2
docker images

在这里插入图片描述
前端也可以看见下载增加为1了
在这里插入图片描述

四,基础命令

基础命令转自其他博客大佬:
https://blog.csdn.net/D1179869625/article/details/122933562
docker的使用也推荐看看菜鸟教程适合新手门还有例子简单易懂:
https://www.runoob.com/docker/docker-tutorial.html

  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值