使用docker搭建owncloud Harbor 构建镜像

news/2025/1/3 3:18:31/

1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。
2、安装搭建私有仓库 Harbor
3、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:
(1)基于centos基础镜像;
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
(6)验证镜像。
4、Dockerfile快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1,并推送到私有仓库。具体要求如下:
(1)基于centos:6基础镜像;
(2)指定作者信息;
(3)安装httpd、mysql、mysql-server、php、php-mysql、php-gd;
(4)暴露80和3306端口;
(5)设置服务自启动。
(6)验证镜像。

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

拉取镜像:

docker pull owncloud

docker pull mysql5.7

创建容器:

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

下载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

tar -xf harbor.v.2.8.4.tar.gz

运行安装脚本install.sh

sh install.sh

修改harbor配置文件

编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:
(1)基于centos基础镜像
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
(6)验证镜像
创建扩展dockfile目录

[root@localhost dockerfile]mkdir -p /path/dockerfil

编辑epel扩展仓库

vim epel.repo

[epel]

name="epel"

baseurl=https://repo.huaweicloud.com/epel/7/x86_64/

gpgcheck=0

创建index.html文件

vim index.html

编辑dockfile文件 

vim dockfile

FROM centos:7

MAINTAINER "newnginx <newnginx@com>"

COPY epel.repo /etc/yum.repos.d

ENV PATH /usr/local/nginx/sbin:$PATH     

ADD  nginx-1.22.1.tar.gz /usr/local/

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 .

基于此镜像创建容器

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

上传镜像到私人仓库 harbor

修改 daemon.json文件

进行访问

{

"registry-mirrors": ["https://registry.docker-cn.com"],

"insecure-registries": ["http://192.168.100.146:5100"]

}

systemctl daemon-reload

systemctl  restart docker

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

[root@localhost harbor]# docker push 192.168.100.146:5100/library/newnginx

登录并且上传镜像

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

[root@localhost harbor]# docker push 192.168.100.146:5100/library/newnginx

拉取并验证镜像

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

[root@localhost docker]# docker run --name web2 -p 83:80 192.168.100.146:5100

/library/newnginx

Dockerfile快速搭建自己专属的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@localhost web1]# 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.ppmy.cn/news/1092424.html

相关文章

记录使用layui弹窗实现签名、签字

一、前言 本来项目使用的是OCX方式做签字的&#xff0c;因为项目需要转到国产化&#xff0c;不在支持OCX方式&#xff0c;需要使用前端进行签字操作 注&#xff1a;有啥问题看看文档&#xff0c;或者换着思路来&#xff0c;本文仅供参考&#xff01; 二、使用组件 获取jSign…

redis 配置与优化

目录 一、关系数据库和非关系型数据库 二、关系型数据库和非关系型数据库区别 三、非关系型数据库产生背景 四、redis 1、概念 2、redis的优点 3、redis为什么这么快 五、redis安装与配置 一、关系数据库和非关系型数据库 关系型数据库&#xff1a;关系型数据库是一个结…

网络技术六:TCP/UDP原理

TCP/UDP原理 命令行操作基础 命令类型 常见设备管理命令 H3C路由交换产品连接方法 使用console线本地连接 协议Serial&#xff0c;接口com口&#xff0c;波特率9600 适用于设备的初次调试 使用Telnet远程访问 适用于设备上架配置好后的维护管理 使用SSH远程访问 数据传输…

YOLO目标检测——火焰检测数据集+已标注xml和txt格式标签下载分享

实际项目应用&#xff1a;火灾预警系统、智能监控系统、工业安全管理、森林火灾监测以及城市规划和消防设计等应用场景中具有广泛的应用潜力&#xff0c;可以提高火灾检测的准确性和效率&#xff0c;保障人员和财产的安全。数据集说明&#xff1a;YOLO火焰目标检测数据集&#…

蓝牙协议栈BLE

前言 这阵子用到蓝牙比较多&#xff0c;想写一个专栏专门讲解蓝牙协议及其应用&#xff0c;本篇是第一篇文章&#xff0c;讲解低功耗蓝牙和蓝牙协议栈。 参考网上各大神文章&#xff0c;及瑞萨的文章&#xff0c;参考GPT&#xff0c;并且加入了一些本人的理解。 图片部分源自…

WPF Flyout风格动画消息弹出消息提示框

WPF Flyout风格动画消息弹出消息提示框 效果如图&#xff1a; XAML: <Window x:Class"你的名称控件.FlyoutNotication"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xam…

使用 Python 的高效相机流

一、说明 让我们谈谈在Python中使用网络摄像头。我有一个简单的任务&#xff0c;从相机读取帧&#xff0c;并在每一帧上运行神经网络。对于一个特定的网络摄像头&#xff0c;我在设置目标 fps 时遇到了问题&#xff08;正如我现在所理解的——因为相机可以用 mjpeg 格式运行 30…

【微服务】五. Nacos服务注册

Nacos服务注册 5.1 Nacos服务分级存储模型Nacos服务分级存储模型&#xff1a;服务集群属性&#xff1a;总结&#xff1a; 5.2 根据集群负载均衡总结 5.3 Nacos服务实例的权重设置总结&#xff1a; 5.6 环境隔离namespace总结 5.7 Nacos和Eureka的对比总结 5.1 Nacos服务分级存储…