当前位置: 首页 > news >正文

docker进阶作业

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

  1. 安装Docker:确保已在CentOS 7.5上安装了Docker。

  2. 拉取MySQL 5.6镜像:使用以下命令从Docker Hub上拉取MySQL 5.6镜像。

 docker pull mysql:5.6
  1. 运行MySQL容器:使用以下命令创建并运行一个MySQL容器。将my_mysql_container替换为您喜欢的容器名称,并设置合适的MySQL用户名和密码。

 docker run -d --name my_mysql_container -e MYSQL_ROOT_PASSWORD=your_root_password mysql:5.6
  1. 拉取ownCloud镜像:使用以下命令从Docker Hub上拉取ownCloud镜像。

 docker pull owncloud
  1. 运行ownCloud容器:使用以下命令创建并运行一个ownCloud容器。将my_owncloud_container替换为您喜欢的容器名称,并将MySQL容器的地址和凭据与命令中的值匹配。

 docker run -d --name my_owncloud_container -p 8080:80 --link my_mysql_container:mysql -e MYSQL_HOST=mysql -e MYSQL_DATABASE=owncloud_db -e MYSQL_USER=your_username -e MYSQL_PASSWORD=your_password owncloud
  1. 完成设置:打开浏览器,并在地址栏中输入http://localhost:8080,然后按照ownCloud的安装向导进行设置。

通过以上步骤,您将能够在CentOS 7.5上使用MySQL 5.6和ownCloud镜像构建个人网盘。

注意:

  • 在命令中,请将your_root_password替换为适当的MySQL根密码。

  • 在ownCloud容器的命令中,请将your_usernameyour_password替换为适当的MySQL用户名和密码。

二、安装搭建私有仓库 Harbor

以下是在CentOS 7.5上安装和搭建私有仓库Harbor的详细步骤:

  1. 安装Docker:

    • 更新系统软件包:

       sudo yum update -y
    • 安装Docker的依赖项:

       sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    • 添加Docker的官方仓库:

       sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    • 安装Docker CE(社区版):

       sudo yum install -y docker-ce
    • 启动Docker服务:

       sudo systemctl start docker
    • 设置Docker服务开机自启动:

       sudo systemctl enable docker
  2. 安装Docker Compose:

    • 下载Docker Compose二进制文件:

       sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    • 添加可执行权限:

       sudo chmod +x /usr/local/bin/docker-compose
  3. 安装和配置Harbor:

    • 下载Harbor离线安装文件包,根据您的需求选择合适的版本:Releases · goharbor/harbor · GitHub

    • 解压Harbor离线安装文件包:

       tar xvf harbor-offline-installer-<版本号>.tgzcd harbor
    • 编辑Harbor配置文件(harbor.yml):

       vi harbor.yml
    • 可以根据需要修改配置文件中的参数,例如hostnamehttphttps等。

    • 运行Harbor安装脚本:

       sudo ./install.sh

    安装过程可能需要几分钟时间。

  4. 配置并启动Harbor服务:

    • 打开Harbor配置文件(/etc/docker/daemon.json),添加以下内容以允许不受信任的证书:

       {"insecure-registries": ["your_harbor_url"]}
    • 重新加载Docker配置:

       sudo systemctl daemon-reload
    • 重启Docker服务:

       sudo systemctl restart docker
    • 启动Harbor服务:

       sudo docker-compose up -d
  5. 验证Harbor安装是否成功:

    • 打开浏览器,访问Harbor的URL(根据配置的hostname指定),例如:http://your_harbor_url

    • 如果成功打开Harbor的Web界面,则表示安装成功。

如需进一步了解Harbor的使用和配置,请参考Harbor的官方文档(Harbor)。

三、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。

需求:

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

以下是满足要求的Dockerfile内容来制作nginx镜像:

 FROM centosLABEL maintainer="Your Name <youremail@example.com>"​# 安装nginx服务RUN yum -y update && yum install -y nginx​# 复制并设置nginx配置文件COPY nginx.conf /etc/nginx/nginx.conf​# 复制前端文件到nginx工作目录COPY dest /usr/share/nginx/html​# 暴露80端口EXPOSE 80​# 设置服务自启动CMD ["nginx", "-g", "daemon off;"]

将上述Dockerfile放在一个目录下,并将要提供的dest目录和nginx.conf配置文件也放在同一目录下。

然后,使用以下命令构建并推送镜像到私有仓库:

 # 构建镜像docker build -t nginx:v1.1 .​# 标记镜像为私有仓库地址docker tag nginx:v1.1 your_harbor_url/nginx:v1.1​# 登录私有仓库docker login your_harbor_url​# 推送镜像到私有仓库docker push your_harbor_url/nginx:v1.1

确保将your_harbor_url替换为您的实际私有仓库地址。执行上述命令后,Docker将会构建nginx:v1.1镜像并推送到您的私有仓库。

要验证镜像是否正常工作,可以使用以下命令运行镜像并检查nginx是否正常启动:

 docker run -d -p 80:80 your_harbor_url/nginx:v1.1

然后通过浏览器访问http://localhost即可验证nginx是否成功运行并显示默认的index.html页面。

四、Dockerfile快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1,并推送到私有仓库。

需求:

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

以下是满足要求的Dockerfile内容来快速搭建LAMP环境并创建镜像lamp:v1.1:

 FROM centos:6LABEL maintainer="Your Name <youremail@example.com>"​# 安装httpd、mysql、mysql-server、php、php-mysql、php-gdRUN yum -y update && \yum install -y httpd mysql mysql-server php php-mysql php-gd && \yum clean all​# 暴露80和3306端口EXPOSE 80 3306​# 设置服务自启动CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

将上述Dockerfile放在一个目录下。

然后,使用以下命令构建并推送镜像到私有仓库:

 # 构建镜像docker build -t lamp:v1.1 .​# 标记镜像为私有仓库地址docker tag lamp:v1.1 your_harbor_url/lamp:v1.1​# 登录私有仓库docker login your_harbor_url​# 推送镜像到私有仓库docker push your_harbor_url/lamp:v1.1

确保将your_harbor_url替换为您的实际私有仓库地址。执行上述命令后,Docker将会构建lamp:v1.1镜像并推送到您的私有仓库。

验证镜像是否正常工作的方法是创建一个容器并运行它,然后使用浏览器或其他工具验证LAMP环境是否按预期运行。

相关文章:

docker进阶作业

一、使用mysql:5.6和 owncloud 镜像&#xff0c;构建一个个人网盘。 安装Docker&#xff1a;确保已在CentOS 7.5上安装了Docker。 拉取MySQL 5.6镜像&#xff1a;使用以下命令从Docker Hub上拉取MySQL 5.6镜像。 docker pull mysql:5.6 运行MySQL容器&#xff1a;使用以下命令…...

HTML+JavaScript+CSS DIY 分隔条splitter

一、需求分析 现在电脑的屏幕越来越大&#xff0c;为了利用好宽屏&#xff0c;我们在设计系统UI时喜欢在左侧放个菜单或选项面板&#xff0c;在右边显示与菜单或选项对应的内容&#xff0c;两者之间用分隔条splitter来间隔&#xff0c;并可以通过拖动分隔条splitter来动态调研…...

Oracle-day5:新增、复制建表、表结构、表数据、删除

目录 一、insert新增数据 二、复制建表 三、表结构修改 四、查看表结构、表数据处理 五、修改表数据 六、删除语句 八、练习题 一、insert新增数据 /* ---------- 一、DML 数据操作语言-------- -- 1、增加数据 insert 语法&#xff1a;insert into 表名 (列1,列2,…...

Scratch 画画的技巧

前言 美术是一种艺术&#xff0c;且不局限于纸张&#xff0c;就像电脑绘图也属于美术。我至今已有三年多的画龄&#xff0c;经验丰富&#xff0c;尤其擅长在scratch造型编辑器上画矢量图。今天给大家分享一些实用的技巧。 1.讲解 用橡皮工具给一个圆擦出“橡皮洞” 橡皮工具&a…...

国际版阿里云/腾讯云:阿里弹性云手机正式公测

阿里弹性云手机正式公测 什么是“云手机”&#xff1f;与我们传统的手机有何区别&#xff1f;它又有什么用处呢&#xff1f;当你接触到云手机概念的时候&#xff0c;是不是也会有这一连串的疑问。本文将为你揭开云手机的奥秘面纱。 2021年12月1日&#xff0c;阿里弹性云手机正…...

服务器数据恢复- RAID5出现故障后恢复数据和操作系统的案例

服务器数据恢复环境&#xff1a; 某品牌服务器中有4块SAS硬盘组建了一组RAID5阵列&#xff0c;另外1块磁盘作为热备盘使用。上层操作系统为redhat linux&#xff0c;部署了一个数据库是oracle的OA。 服务器故障&初检&#xff1a; RAID5中一块磁盘离线后热备盘未自动激活re…...

Vue3实现可视化拖拽标签小程序

介绍 实现功能&#xff1a;可视化标签拖拽&#xff0c;双击标签可修改标签内容 HTML结构 <div class"box" v-move><div class"header">标签1</div><div dblclick"startEditing" v-if"!isEditing">{{content…...

SSM 前端使用AJAX方式,fromdata文件格式上传二进制流文件

今天在上课的时候&#xff0c;遇到了一个比较坑的问题&#xff0c;有个学生拿来了她的代码&#xff0c;让我给她看看为什么传值传不过来。 首先&#xff0c;前端是这样的&#xff1a; function upload(){var formData new FormData();formData.append(images, $(#previewImg)…...

LeetCode-455-分发饼干-贪心算法

题目描述&#xff1a; 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&#xff…...

新版 Next.js 从入门到入土

本教程用的Next.js 是 13 版本 Next.js 简介 完善的React项目&#xff0c;搭建轻松自带数据同步&#xff0c;解决服务端渲染最大难点丰富的插件灵活配置 创建第一个项目 手动创建 初始化 npm init安装所需要的依赖包 npm install --save react react-don next增加快捷命…...

OpenCV(十):图像缩放、翻转、拼接的介绍与使用

目录 &#xff08;1&#xff09;图像缩放&#xff1a;resize() &#xff08;2&#xff09;图像翻转&#xff1a; flip() &#xff08;3&#xff09;图像拼接&#xff1a;hconcat() 和vconcat() &#xff08;1&#xff09;图像缩放&#xff1a;resize() 使用 cv2.resize() 函…...

C++ 学习之 构造函数 和 析构函数

前言 总的来说&#xff0c;构造函数负责对象的初始化&#xff0c;而析构函数负责对象的清理和资源释放。它们是C面向对象编程中非常重要的概念&#xff0c;用于管理对象的生命周期&#xff0c;确保对象在创建和销毁时都能够正确地进行初始化和清理。 正文 看代码 class perso…...

加快 MySQL 数据迁移

目录 一、先导 1. 自建目标实例 2. 配置目标主从 二、源导出 1. 生成查询用户权限的SQL语句 2. 生成权限的SQL语句 3. 生成创建非主键索引的SQL语句 4. 导出源库结构 5. 导出源库数据 三、目标导入 1. 目标实例设置 2. 创建用户与权限 3. 处理结构导出文件 4. 导…...

CANalyzer panel

(1205条消息) CAPL 脚本中对信号&#xff0c;系统变量&#xff0c;环境变量的 事件响应_capl programs脚本怎么写信号运算_蚂蚁小兵的博客-CSDN博客 注意环境变量是在工程关联的dbc中创建的&#xff1b;而系统变量是在CANoe工程工具栏的”Environment”下的”System Variables”…...

延迟队列的理解与使用

目录 一、场景引入 二、延迟队列的三种场景 1、死信队列TTL对队列进行延迟 2、创建通用延时消息死信队列 对消息延迟 3、使用rabbitmq的延时队列插件 x-delayed-message使用 父pom文件 pom文件 配置文件 config 生产者 消费者 结果 一、场景引入 我们知道可以通过TT…...

jQuery成功之路——jQuery的DOM操作简单易懂

jQuery的DOM操作 1.jQuery操作内容 jQuery操作内容 1. text() 获取或修改文本内容 类似于 dom.innerText 2. html() 获取或修改html内容 类似 dom.innerHTML 注意: 1. text() 是获取设置所有 2. html() 是获取第一个,设置所有 <!DOCTYPE html> <html lang"zh…...

C++ 学习系列 -- 智能指针 make_shared 与 make_unique

一 make_shared 1.1 make_shared 是什么&#xff1f; c 11 中 引入了智能指针 shared_ptr&#xff0c;以及一个模板函数 make_shared 来生成一个制定类型的 shared_ptr。 1.2 引入 make_shared &#xff0c;解决了什么问题&#xff1f; make_shared的引入&#xff0c;主…...

贝叶斯神经网络 - 捕捉现实世界的不确定性

贝叶斯神经网络 - 捕捉现实世界的不确定性 Bayesian Neural Networks 生活本质上是不确定性和概率性的&#xff0c;贝叶斯神经网络 (BNN) 旨在捕获和量化这种不确定性 在许多现实世界的应用中&#xff0c;仅仅做出预测是不够的&#xff1b;您还想知道您对该预测的信心有多大。例…...

games101作业1

题目 给定三维下三个点 v0(2.0, 0.0, −2.0), v1(0.0, 2.0, −2.0), v2(−2.0, 0.0, −2.0), 你需要将这三个点的坐标变换为屏幕坐标并在屏幕上绘制出对应的线框三角形 (在代码框架中&#xff0c;我们已经提供了 draw_triangle 函数&#xff0c;所以你只需要去构建变换矩阵即可…...

LeetCode 面试题 02.08. 环路检测

文章目录 一、题目二、C# 题解 一、题目 给定一个链表&#xff0c;如果它是有环链表&#xff0c;实现一个算法返回环路的开头节点。若环不存在&#xff0c;请返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了…...

计算材料学驱动新型硅光伏材料发现:进化算法与机器学习融合设计

1. 项目概述&#xff1a;当计算材料学遇上光伏革命在光伏领域&#xff0c;硅材料长期占据着主导地位&#xff0c;这得益于其储量丰富、工艺成熟和稳定性好。然而&#xff0c;传统晶体硅&#xff08;金刚石结构&#xff09;一个众所周知的“阿喀琉斯之踵”是其间接带隙特性。这意…...

保险智能体部署失败率高达73%?揭秘头部险企AI Agent上线前必须完成的3个合规校验步骤

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;保险智能体部署失败率高达73%&#xff1f;揭秘头部险企AI Agent上线前必须完成的3个合规校验步骤 近期多家头部保险机构联合发布的《2024保险AI落地白皮书》指出&#xff0c;AI Agent在核心承保、核保与理赔场…...

【教育智能化临界点预警】:再不掌握AI Agent教学编排逻辑,3个月内将被首批智能助教替代

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;教育智能化临界点的本质判据与AI Agent不可逆替代趋势 教育智能化是否真正跨越临界点&#xff0c;不取决于技术参数的堆叠&#xff0c;而在于教学闭环中“决策权迁移”的可观测性——当AI Agent在备课、学情诊…...

GParted实战:从虚拟机沙盒到实体机,安全演练Linux分区合并与扩容全流程

GParted实战&#xff1a;从虚拟机沙盒到实体机&#xff0c;安全演练Linux分区合并与扩容全流程在虚拟机的安全环境中练习Linux分区操作&#xff0c;就像飞行员在模拟器中训练紧急情况处理一样重要。GParted作为Linux系统管理员的"瑞士军刀"&#xff0c;其强大功能背后…...

根据lab1.pdf总结的知识点

第一题&#xff1a;简单的应用程序&#xff08;Hello.java&#xff09;类与主方法&#xff1a;Java程序入口必须是public static void main(String args[])&#xff0c;public表示该方法能被JVM访问&#xff0c;static表示无需创建对象即可调用&#xff0c;void表示无返回值&am…...

有哪些真正好用的降AIGC软件?能同时符合论文规范和压低AIGC数值的那种

毕业季、投稿季最让人焦虑的&#xff0c;莫过于论文查重率高企、AIGC痕迹明显。反复修改、反复检测不仅耗时费力&#xff0c;还容易越改越混乱。2026年高校与期刊双重审核已成定局&#xff0c;用对工具才能事半功倍。真正好用的降AIGC软件&#xff0c;不仅能降低AI痕迹&#xf…...

为什么92%的Midjourney水效渲染失败?——解析v6.1+版本流体折射权重、noise scale与--s值的黄金三角关系

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;为什么92%的Midjourney水效渲染失败&#xff1f;——问题现象与根本归因 大量用户在使用 Midjourney v6 生成「水效渲染」&#xff08;Water Efficiency Rendering&#xff09;类提示词时遭遇高频失败——表现…...

AssetStudio深度解析:Unity资源逆向的底层原理与工程实践

1. 这不是“点开即用”的工具&#xff0c;而是Unity资源逆向的手术刀AssetStudio这个名字听起来像某个轻量级小工具——点开、拖入、导出&#xff0c;三步搞定。但实际用过Unity项目逆向的人都知道&#xff0c;它根本不是“一键提取”的魔法棒&#xff0c;而是一把需要你亲手调…...

知名私募急招超高频的人选,tick级别那种,预算八位数+cut,欢迎自荐、推荐[嘿哈]

知名私募急招超高频的人选&#xff0c;tick级别那种&#xff0c;预算八位数cut&#xff0c;欢迎自荐、推荐[嘿哈]...

影刀RPA跨境店群自动化:分布式环境调度与高并发资源隔离架构实战

定了。在这场旷日持久的跨境电商反爬风控拉锯战中&#xff0c;我们终于用一套基于 Python 深度协同的分布式微服务调度架构&#xff0c;重塑了跨境千店矩阵的自动化底座。 这几天&#xff0c;科技圈被“DeepSeek V4 首发华为昇腾芯片&#xff0c;国产 AI 开始打破英伟达 CUDA …...