使用docker搭建owncloud Harbor 构建镜像

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.hqwc.cn/news/101014.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT/C++获取电脑系统,主板型号,CPU型号,硬盘型号,内存大小等相关信息(二)通过Windows Server (WMI)查询

Qt/C调用windows Api库通过wmi的方式查询电脑能获取更多详细信息&#xff0c;也更加合理有技术性。 建议使用MSCV编译器&#xff0c;如MSCV 2017 ,Qt版本 : 5.13.1 目录导读 关于 WMI示例&#xff1a;创建 WMI 应用程序示例&#xff1a;打印Wmi执行的查询项的所有属性头文件引用…

基于缓冲原理计算轨迹相似度

目录 前言预备知识思路与核心代码优缺点分析数值实验参考文献 前言 接上文&#xff0c;我们已经知道如何利用夹角余弦来计算两条轨迹的相似度&#xff0c;也知道其中优势和劣势&#xff0c;夹角余弦方法作为一个基础的baseline有其存在的价值&#xff0c;很多学者也提出了各式…

【autodesk】浏览器中渲染rvt模型

使用Forge完成渲染 Forge是什么 为什么能够渲染出来rvt模型 Forge是由Autodesk开发的一套云端开发平台和工具集。在Forge平台中&#xff0c;有一个名为"Model Derivative"的服务&#xff0c;它可以将包括RVT&#xff08;Revit&#xff09;在内的多种BIM&#xff08…

学习笔记二十:Pod生命周期-启动钩子、停止钩子

Pod生命周期-启动钩子、停止钩子 Pod生命周期pod在整个生命周期的过程中总会处于以下几个状态&#xff1a;pod生命周期的重要行为&#xff1a;容器探测三种探针用于Pod检测 容器的重启策略定义是否重启Pod对象pod的终止过程 Init容器初始化容器与主容器区别是:初始化容器使用 P…

人工智能客服:是跨境电商未来的趋势吗?

随着跨境电商的快速发展&#xff0c;客户服务成为了商家们越来越关注的焦点。而在客户服务领域中&#xff0c;人工智能客服正逐渐崭露头角。那么&#xff0c;人工智能客服是否是跨境电商未来的趋势呢&#xff1f;本文将探讨这个问题&#xff0c;并揭示人工智能客服的潜力和优势…

用python开发一个炸金花小游戏

众所周知&#xfeff;扑克牌可谓是居家旅行、桌面交友的必备道具&#xff0c; 今天我们用 Python 来实现一个类似炸金花的扑克牌小游戏&#xff0c;先来看一下基本的游戏规则。 炸&#xff08;诈&#xff09;金花又叫三张牌&#xff0c;是在全国广泛流传的一种民间多人纸牌游戏…

win11 系统 Internet Connection Sharing (ICS) 服务无法关闭-问题解决

问题出现在matebook ego ,出现一个问题就是一连上电源&#xff0c;运行ipconfig &#xff0c;WLAN 2就会自动给配上一个192.168.137.1的ip,一断开电源这个ip就会小时&#xff0c;因为我要创建一个热点&#xff0c;如果这个ip有了那么热点会创建失败&#xff01;于是开始排查&am…

vue小测试之拖拽、自定义事件

在开始之前我去复习了一下&#xff0c;clientX、clientY、pageX、pageY的区别&#xff0c;对于不熟悉offsetLeft和offsetTop的也可以在这里去复习一下。 vue拖拽指令之offsetX、clientX、pageX、screenX_wade3po的博客-CSDN博客_vue offset 客户区坐标位置&#xff08;clientX&…

远程访问公司局域网怎么设置

远程访问公司 LAN&#xff08;局域网&#xff09;计算机需要设置安全的远程访问方法&#xff0c;以确保数据的机密性和完整性。远程访问公司局域网计算机的步骤如下&#xff1a; 1、获得许可 确保您拥有远程访问公司 LAN 资源所需的权限和授权。这可能需要 IT 或网络管理员的…

如何关闭一个tcp连接 阻塞和等待的区别 b树查找的过程

如何关闭一个 TCP 连接 可能大家第一反应是「杀掉进程」不就行了吗&#xff1f; 是的&#xff0c;这个是最粗暴的方式&#xff0c;杀掉客户端进程和服务端进程影响的范围会有所不同&#xff1a; • 在客户端杀掉进程的话&#xff0c;就会发送 FIN 报文&#xff0c;来断开这个客…

conda的使用教程

conda的介绍 简单来说&#xff0c;conda软件就是来管理包的软件。以Python为例&#xff0c;在实际生活中&#xff0c;我们要处理多个不同的项目&#xff0c;因此&#xff0c;要安装不同的项目所需要的包&#xff0c;为了管理方便&#xff0c;conda就是用来打理不同项目的包&…

DGIOT-Modbus-RTU控制指令05、06的配置与下发

[小 迪 导 读]&#xff1a;伴随工业物联网在实际应用中普及&#xff0c;Modbus-RTU作为行业内的标准化通讯协议。在为物联网起到采集作用的同时&#xff0c;设备的控制也是一个密不可分的环节。 场景解析&#xff1a;在使用Modbus对设备进行采集后&#xff0c;可以通过自动控制…