基于docker搭建owncloud Harbor 构建镜像

news2024/9/27 19:26:12

环境介绍:ContenOS7.9   docker17.12.1-ce

使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。

docker pull owncloud    #拉取镜像
docker pull mysql5.6

创建容器

docker run --name owncloud-mysql  -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=root  -v /haha/owncloud/mysql:/var/lib/mysql mysql:5.7
docker run --name owncloud --link owncloud-mysql:mysql -v /haha/data/ownclouddata:/data -p 8080:80 -d owncloud

安装搭建私有仓库 Harbor

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,harbor使用的是官方的docker registry(v2命名是distribution)服务去完成

安装harbor之前安装需要docker  和docker compos

注意:由于 Harbor 是基于 Docker Registry V2 版本,所以 docker 版本必须 >=1.10.0 docker-compose >=1.6.0

下载docker-compose

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

 安装harbor

 官网下载地址:Releases · goharbor/harbor (github.com)

 解压后  目录中没有 harbor.yml 文件   cp harbor.yml.tmpl 文件并改名为harbor.yml

编辑 harbor.yml文件

更改hostname 为自己的主机名称 或者ip地址   更改端口   https 不启用就直接注释

 

 使用./intall.sh安装

 使用浏览器访问 ip+端口号

基于centos7创建nginx镜像

具体要求 

(1)基于centos基础镜像;
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
(6)验证镜像。

创建扩展dockfile目录

[root@RHCE dockerfile]# pwd
/path/to/dockerfile

编辑epel扩展仓库

 vim epel.repo

[epel]
name="epel源"
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
gpgcheck=0

 创建index.html文件  内容随机想写什么写什么;列如:爱坤 666

vim index.html   (我这里是直接重/etc/share/nginx/html cp 过来的  )

编辑dockfile文件 

vim dockfile

FROM centos:7
MAINTAINER "newnginx <newnginx@com>"    //编辑作者信息
COPY epel.repo /etc/yum.repos.d          // 复制epel.repo   相当于 copy
ENV PATH /usr/local/nginx/sbin:$PATH     
ADD  nginx-1.22.1.tar.gz /usr/local/     // 也是copy  只是会自动解压
RUN yum -y install epel-release.noarch
RUN yum install -y wget lftp gcc gcc-c++ make openssl-devel pcre-devel pcre && yum clean all
RUN useradd -s /sbin/nologin -M www
WORKDIR /usr/local/nginx-1.22.1
RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-pcre && make && make install
COPY index.html /usr/share/nginx/html/
EXPOSE 80
CMD ["nginx","-g","daemon off;"]

 上传源码包   nginx-1.22.1.tar.gz

 以上条件成立后  就可以生成镜像了

docker build -t nginx:v1.1 -f dockfile .

 使用 dockers imags 查看镜像是否生成

 基于此镜像创建容器

docker run --name web1 -p 83:80 nginx:v1.1

创建成功后 使用浏览器访问  (使用物理机的地址+端口)

 接下来上传镜像到私人仓库  这里我们使用harbor

在上传之前  需要在  /etc/docker 文件下面修改 daemon.json文件

 我这里就用本机访问

{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["http://192.168.100.146:5100"]
}


systemctl daemon-reload     //重载
 
systemctl  restart docker    // 重启



 

划重点(当你登录被拒绝)

daemon.json    后缀名是否错误

更改 harbor.yml文件后  记得重新运行脚本  也就是./install.sh

 

[root@RHCE harbor]# docker-compose up -d    启动harbor服务   关闭直接使用down

登录 

 把要上传的镜像打上合适的标签并推送

[root@RHCE harbor]# docker tag nginx:v1.1   192.168.100.146:5100/library/newnginx
[root@RHCE harbor]# docker push 192.168.100.146:5100/library/newnginx

 

 在仓库中拉取镜像  (验证)

[root@RHCE harbor]# docker pull 192.168.100.146:5100/library/newnginx:v1.1


 验证镜像

[root@RHCE docker]# docker run --name web2 -p 83:80 192.168.100.146:5100/library/newnginx

 使用浏览器访问

 基于centos7快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1

具体要求如下:

(1)基于centos:6基础镜像;
(2)指定作者信息;
(3)安装httpd、mysql、mysql-server、php、php-mysql、php-gd;
(4)暴露80和3306端口;
(5)设置服务自启动。
(6)验证镜像。

创建dockfile目录

RUN yum install -y httpd mysql mysql-server php php-mysql php-gd
RUN echo "ServerName localhost:80" >> /etc/httpd/conf/httpd.conf
EXPOSE 80/tcp
EXPOSE 3306/tcp
CMD ["httpd","-DFOREGROUND"]

生成镜像

docker build -t lamp:v1.1 -f dockfile .

 运行容器  检测镜像是否正常

docker run --name lamp -p 81:80 lamp:v1.1

测试(浏览器访问)

 上传镜像到私有仓库

打标签  

docker tag 192.168.100.146:5100/library/lamp:v1.1 lamp:v1.1

 推送

docker push 192.168.100.146:5100/library/lamp

 

 

测试

删除本镜像 

拉取镜像

[root@RHCE web2]# docker pull 192.168.100.146:5100/library/lamp:v1.1

 运行

docker run -d --name web1 -p 82:80 192.168.100.146:5100/library/lamp:v1.1 

 

 

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

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

相关文章

Php“牵手”淘宝商品快递费用数据采集方法,淘宝API接口申请指南

淘宝天猫商品快递费用接口 API 是开放平台提供的一种 API 接口&#xff0c;它可以帮助开发者获取商品的详细信息&#xff0c;包括商品的标题、描述、图片&#xff0c;发货地址&#xff0c;快递费用&#xff0c;区域ID&#xff0c;等信息。在电商平台的开发中&#xff0c;快递费…

stm32f407 ADC学习记录

主要特性&#xff1a; ● 可配置 12 位、10 位、8 位或 6 位分辨率 ● 在转换结束、注入转换结束以及发生模拟看门狗或溢出事件时产生中断 ● 单次和连续转换模式 ● 用于自动将通道 0 转换为通道“ n ”的扫描模式 ● 数据对齐以保持内置数据一致性&#xff08;16位的数据…

开车适合戴什么款式的耳机,适合开车时用的蓝牙耳机推荐

骨传导耳机在运动和户外活动中也有很大的优势。传统耳机因为与耳朵紧密贴合&#xff0c;容易受到汗水和湿气的侵蚀&#xff0c;导致损坏。而骨传导耳机由于不直接接触耳朵&#xff0c;可以避免这个问题&#xff0c;更加耐用可靠。而骨传导耳机的工作原理使得耳朵仍然可以感受到…

恒运资本:债券停牌什么意思?债券停牌利好还是利空?

债券是社会各类经济主体比方政府、企业、银行等为筹集资金而向投资者出具的&#xff0c;许诺按必定利率定期付出利息并到期偿还本金的债权债款凭据。那么&#xff0c;债券停牌什么意思&#xff1f;债券停牌利好还是利空&#xff1f;恒运资本为大家预备了相关内容&#xff0c;以…

jmeter进行业务接口并发测试,但登录接口只执行一次

业务接口性能测试&#xff0c;往往都是需要登录&#xff0c;才能请求成功&#xff0c;通常只需要登录一次&#xff0c;再对业务接口多次并发测试。 在测试计划中&#xff0c;添加setUp线程组 把登录请求放入到该线程组中&#xff0c;设置HTTP信息头&#xff0c;JSON提取(提取登…

动态数据掩藏应用

动态数据掩藏是一种数据保护技术&#xff0c;用于隐藏敏感数据或隐私信息。它可以用于各种应用场景&#xff0c;包括数据共享、数据分析、云计算等。 动态数据掩藏应用可以通过对数据进行加密、脱敏、匿名化等处理&#xff0c;来保护数据的隐私性。常见的动态数据掩藏应用包括以…

hbuilderx打包苹果证书获取步骤

简介&#xff1a; 目前app开发&#xff0c;很多企业都用H5框架来开发&#xff0c;而uniapp又是这些h5框架里面最成熟的&#xff0c;因此hbuilderx就成为了开发者的首选。然而,打包APP是需要证书的&#xff0c;那么这个证书又是如何获得呢&#xff1f; 生成苹果证书相对复杂一些…

电脑找不到MSVCR120.dll怎么办?MSVCR120.dll是什么?

在我们的日常生活和工作中&#xff0c;电脑故障是难以避免的问题。而MSVCR120.dll文件是Windows系统中的一个重要组件&#xff0c;如果出现损坏或丢失&#xff0c;可能会导致程序无法正常运行&#xff0c;这个问题可能是由于系统文件损坏、病毒感染等原因导致的。因此&#xff…

Dockerfile搭建LNMP运行Wordpress平台

Dockerfile搭建LNMP运行Wordpress平台 一、项目1.1 项目环境1.2 服务器环境1.3 任务需求 二、Linux 系统基础镜像三、Nginx1、建立工作目录2、编写 Dockerfile 脚本3、准备 nginx.conf 配置文件4、生成镜像5、创建自定义网络6、启动镜像容器7、验证 nginx 四、Mysql1、建立工作…

安装svn插件集成myeclipse2014

第一种&#xff1a; 直接借助myeclipse2014自己的help&#xff0c;当然外网这比较慢了&#xff0c;但是能解决问题的办法就是好办法&#xff0c;能更有效的就是更好的办法&#xff0c;得留着啊。 1.打开myeclipse的help---install from site http://subclipse.tigris.org/upd…

【汇编语言】6、Debug的使用

文章目录 Debug 是什么&#xff1f;寄存器可以做什么&#xff1f;1、用R命令查看、改变CPU寄存器的内容&#xff1b;2、用D命令查看内存中的内容&#xff1b; Debug 是什么&#xff1f; 1、Debug 是Dos系统中的调试工具&#xff0c;也可以运行在 Windows 的实模式下。 2、使用…

SpringBoot开发效率必备工具—lombok

由于编码过程中&#xff0c;以上都是一些重复动作&#xff0c;模板代码。每次都手动生成既浪费时间&#xff0c;又增加了大量的冗余代码。我们可以使用lombok插件来解决这个问题。使我们的编码效率得到大幅度的提高&#xff01; 一、安装 lombok maven仓库官方地址: Maven R…

赴日IT工作 平时接私活开发能去日本搞个IT公司吗?

有小伙伴问&#xff0c;我平时也会接一些私活开发项目&#xff0c;可以直接去日本搞一个IT公司吗&#xff1f;首先给出まとめ&#xff08;总结&#xff09;&#xff0c;如果你没有日本项目经验的话建议先找个会社试试&#xff0c;如果有项目经验的话&#xff0c;那你把前老板的…

leetcode:字符串相乘(两种方法)

题目&#xff1a; 给定两个以字符串形式表示的非负整数 num1 和 num2&#xff0c;返回 num1 和 num2 的乘积&#xff0c;它们的乘积也表示为字符串形式。 注意&#xff1a;不能使用任何内置的 BigInteger 库或直接将输入转换为整数。 示例 1: 输入: num1 "2", nu…

在线转换器有哪些优势?在线Word转PDF操作分享

我们如果想要将两者不同格式文件进行格式转换&#xff0c;就需要下载安装转换器。如果出门带的设备没有安装转换软件客户端&#xff0c;就无法使用&#xff0c;会比较麻烦。现在有了在线转换工具&#xff0c;只需要打开相应的网页就可使用&#xff0c;那么在线Word转PDF的操作是…

接口自动化yaml文件读取与写入

前言 在走进yaml文件之前大家应该都很想知道他是用来干嘛的&#xff1f; 是的是的&#xff0c;他是用来做接口自动化测试的。 我们一起来学习他吧&#xff01;——&#xff08;一定要收藏带走哦❤&#xff09; 1、yaml文件有什么作用呢&#xff1f; ①可作为配置文件使用—…

基于java SpringBoot+Vue+html 的大学生体质测试管理系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 简介效果图系统首页模块管理员功能模块用户功能模块教师功能模块 部分源码源码下载地址 简介 本…

如何恢复指定电脑分区数据?数据恢复有它

如何恢复指定电脑分区数据&#xff1f;恢复指定电脑分区数据通常是指在电脑硬盘上的某个特定分区中丢失的数据&#xff0c;经过一定的操作将这些数据重新找回的过程。 图片来源于网络&#xff0c;如有侵权请告知 这通常涉及使用恢复软件来扫描和检测分区中丢失的文件&#xf…

第六次作业 运维高级 docker容器

1.安装docker服务&#xff0c;配置镜像加速器 卸载旧版本 yum remove docker docker-common docker-selinux docker-engine使用yum源安装 &#xff08;1&#xff09;安装Docker所需要的一些工具包 yum install -y yum-utils&#xff08;2&#xff09; 建立Docker仓库 (映射…

LeetCode——二叉树篇(六)

刷题顺序及思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 106. 从中序与后序遍历序列构造二叉树 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&…