当前位置: 首页 > 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;则链表中存在环。 为了…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...