运维高级学习--Docker(二)

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

#拉取mysql5.6和owncloud镜像
[root@localhost ~]# docker pull mysql:5.6
[root@localhost ~]# docker pull owncloud
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mysql        5.6       dd3b2a5dcb48   20 months ago   303MB
owncloud     latest    327bd201c5fb   4 years ago     618MB
#启动容器
[root@localhost ~]# docker run -itd --name mysql-5.6 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
[root@localhost ~]# docker run -itd --name owncloud --link mysql-5.6:mysql -p 8080:80 owncloud
#检验是否启动
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE       COMMAND                   CREATED              STATUS              PORTS                                       NAMES
da34643ae050   owncloud    "docker-entrypoint.s…"   2 seconds ago        Up 1 second         0.0.0.0:8080->80/tcp, :::8080->80/tcp       owncloud
9f1fdfde8a34   mysql:5.6   "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp   mysql-5.6

完成后可以访问ip:8080进入
在这里插入图片描述
登录成功页面:
在这里插入图片描述

2、安装搭建私有仓库 Harbor

安装docker编排工具docker-compose

#在GitHub上选择自己需要的版本下载安装
[root@localhost ~]# mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
[root@localhost ~]# chmod +x /usr/local/bin/docker-compose
[root@localhost ~]# docker-compose version
Docker Compose version v2.20.3
#安装Harbor
[root@localhost ~]# tar xf harbor-offline-installer-v2.8.4.tgz -C /usr/local
[root@localhost ~]# cd /usr/local/harbor
[root@localhost ~]# cp harbor.yml.tmpl harbor.yml
[root@localhost ~]# vim harbor.yml

将这四行注释掉
在这里插入图片描述

#运行安装脚本
[root@localhost harbor]# ./install.sh
···
✔ ----Harbor has been installed and started successfully.----

在主机上添加域名解析
进入C:\Windows\System32\drivers\etc\hosts文件添加

192.168.1.30 harbor.openlab.cn

随后访问harbor.openlab.cn
在这里插入图片描述

登录成功后如下页面
在这里插入图片描述

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

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

[root@harbor ~]# mkdir nginx
[root@harbor ~]# cd nginx/
[root@harbor nginx]# mkdir dest
[root@harbor dest]# echo "dockerfile test page,hello">index.html
[root@harbor nginx]# vim Dockerfile
FROM centos:7
MAINTAINER "dest <destmail@163.com>"
ADD http://nginx.org/download/nginx-1.15.8.tar.gz /usr/local/src/
COPY index.html /usr/share/nginx/html
EXPOSE 80
CMD ["/usr/sbin/nginx","-g","daemon off;"]
#构建镜像
[root@harbor nginx]# docker build -t nginx:v1.1 ./
#检验
[root@harbor nginx]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED         SIZE
nginx                           v1.1      3da136ecc289   5 seconds ago   205MB
#添加harbor仓库为信任地址
[root@harbor ~]# vim /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://registry.docker-cn.com"],
  "insecure-registries": ["192.168.1.30"],
  "insecure-registries": ["harbor.openlab.cn"]
}
#把要上传的镜像打上标签
[root@harbor ~]# docker tag nginx:v1.1 harbor.openlab.cn/dest/nginx:v1.1
#登录harbor仓库
[root@harbor ~]# docker login harbor.openlab.cn
Username: admin
Password: 

Login Succeeded
#将打上标签之后的镜像推送到私有仓库中
[root@harbor ~]# docker push harbor.openlab.cn/dest/nginx:v1.1

检验是否推送成功
在这里插入图片描述

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)验证镜像。

#拉取centos 6镜像
[root@harbor ~]# docker pull centos:6
#创建存放Dockerfile的目录
[root@harbor ~]# mkdir lamp
[root@harbor ~]# cd lamp
[root@harbor lamp]# vim Dockerfile
FROM centos:6
MAINTAINER "dest <destmail@163.com>"
RUN yum install -y httpd mysql mysql-server php php-mysql pgp-gd
EXPOSE 80/tcp
EXPOSE 3306/tcp
CMD service httpd start && service mysqld start && /bin/bash
#构建lamp镜像
[root@harbor lamp]# docker build -t lamp:v1.1 ./
#为要上传的镜像打上标签
[root@harbor lamp]# docker tag lamp:v1.1 harbor.openlab.cn/dest/lamp:v1.1
#登录到harbor仓库
[root@harbor ~]# docker login harbor.openlab.cn
#把镜像推送到harbor私有仓库
[root@harbor ~]# docker push harbor.openlab.cn/dest/lamp:v1.1

检验是否推送成功
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【芯片设计封装与测试】芯片测试目的、方法、分类及案例

目录 1.芯片测试概述&#xff08;目的、方法&#xff09; 1.1.测试在芯片产业价值链上的位置 2.测试如何体现在设计的过程中 2.1.半导体测试定义与基本工作机制 2.2.半导体测试环节分类及对应设备 2.3.设计验证 3.测试的各种类型 3.1.抽样测试和生产全测 3.2.测试相关…

【android12-linux-5.1】【ST芯片】HAL移植后配置文件生成报错

根据ST官方源码移植HAL源码后&#xff0c;执行readme指示中的生成配置文件指令时报错ST_HAL_ANDROID_VERSION未定义之类&#xff0c;应该是编译环境参数问题。makefile文件中是自动识别配置的&#xff0c;参数不祥就会报错&#xff0c;这里最快的解决方案是查询确定自己android…

课程项目设计--spring security--认证管理功能--宿舍管理系统--springboot后端

写在前面&#xff1a; 还要实习&#xff0c;每次时间好少呀&#xff0c;进度会比较慢一点 本文主要实现是用户管理相关功能。 前文项目建立 文章目录 验证码功能验证码配置验证码生成工具类添加依赖功能测试编写controller接口启动项目 security配置拦截器配置验证码拦截器 …

Leetcode每日一题:1267. 统计参与通信的服务器

原题 这里有一幅服务器分布图&#xff0c;服务器的位置标识在 m * n 的整数矩阵网格 grid 中&#xff0c;1 表示单元格上有服务器&#xff0c;0 表示没有。 如果两台服务器位于同一行或者同一列&#xff0c;我们就认为它们之间可以进行通信。 请你统计并返回能够与至少一台其…

musl libc ldso 动态加载研究笔记:动态库的加载次序与初始化次序

前言 musl ldso 是按照什么次序加载动态链接的应用程序的共享库的&#xff1f;如果共享库之间有依赖&#xff0c; musl ldso 如何处理先初始化哪个 共享库&#xff1f; musl ldso 的代码可以在 musl 官方代码&#xff1a; ldso\dlstart.c 与 ldso\dynlink.c&#xff0c;其中动…

ETLCloud轻量级数据中台解决方案

引言 随着信息时代的到来&#xff0c;数据已经成为企业的重要资源&#xff0c;如何高效地管理、分析和应用数据变得尤为关键。然而&#xff0c;许多企业在构建数据中台时面临着高昂的成本、复杂的架构和漫长的实施周期等问题。为了解决这些挑战&#xff0c;我们推出了ETLCloud…

使用高斯滤波器进行表面开放轮廓过滤研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【官方中文文档】Mybatis-Spring #目录

目录 此页面用于在GitHub上呈现索引。 NOTE: 由于链接目标是在使用maven-site-plugin转换为html的假设下指定的&#xff0c;因此在GitHub上的呈现中有一个锚点已损坏。 简介入门SqlSessionFactoryBean事务使用 SqlSession注入映射器Spring Boot使用 MyBatis APISpring Batch示…

Linux虚拟机安装(Ubuntu 20)

最近这段时间使用VMWare安装了一下Ubuntu版本的Linux虚拟机&#xff0c;在这里记录一下安装时参考的文章以及需要注意的细节 参考链接&#xff1a; VMware虚拟机下安装Ubuntu20.04&#xff08;保姆级教程&#xff09; 一、安装VMWare 下载链接&#xff1a;VMware Workstatio…

【TI毫米波雷达笔记】SOC外设初始化配置及驱动(以IWR6843AOP为例)

【TI毫米波雷达笔记】SOC外设初始化配置及驱动&#xff08;以IWR6843AOP为例&#xff09; 最基本的工程建立好以后 需要给SOC进行初始化配置 SOC_Cfg socCfg; //SOC配置结构体Task_Params taskParams; //任务参数SOC_Handle socHandle;ESM_init(0U); …

git介绍+集成到IDEA中+使用gitee

目录 git介绍 本地工作流程 IDEA集git 添加到暂存区 添加到本地仓库 gitee使用 添加到远程仓库 git介绍 git是一个开源的分布式版本控制工具&#xff0c;效率高。可以记录历史代码&#xff0c;多人代码共享 知识小点&#xff1a; 集中式版本控制&#xff1a;使用中央存…

SpringBoot案例-文件上传

目录 简介 文件上传前端页面三要素 服务端接收文件 小结 本地储存 实现 代码优化 小结 阿里云OSS 阿里云 阿里云OSS 使用第三方服务--通用思路 准备工作 参照官方SDK代码&#xff0c;编写入门程序 集成使用 阿里云OSS-使用步骤 阿里云OSS使用步骤 参照SDK编写入…

vue2 vue中的常用指令

一、为什么要学习Vue 1.前端必备技能 2.岗位多&#xff0c;绝大互联网公司都在使用Vue 3.提高开发效率 4.高薪必备技能&#xff08;Vue2Vue3&#xff09; 二、什么是Vue 概念&#xff1a;Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套 **构建用户界面 ** 的 渐进式 …

mysql(八)事务隔离级别及加锁流程详解

目录 MySQL 锁简介什么是锁锁的作用锁的种类共享排他锁共享锁排它锁 粒度锁全局锁表级锁页级锁行级锁种类 意向锁间隙临键记录锁记录锁间隙锁 加锁的流程锁的内存结构加锁的基本流程根据主键加锁根据二级索引加锁根据非索引字段查询加锁加锁规律 锁信息查看查看锁的sql语句 数据…

c语言函数指针和指针函数的区别,以及回调函数的使用。

函数指针是什么&#xff0c;函数指针本质也是指针&#xff0c;不过是指向函数的指针&#xff0c;存储的是函数的地址。 指针函数是什么,指针函数其实就是返回值是指针的函数&#xff0c;本质是函数。 函数指针是如何定义的呢&#xff0c;如下 void (*pfun)(int a,int b) 这…

stm32之4.时钟体系

3.时钟体系(给单片机提供一个非常稳定的频率信号) ①可以使用三种不同的时钟源来驱动系统时钟&#xff08;SYSCLK&#xff09;&#xff0c;CPU运行的频率为168MHZ&#xff1b; HSI(RC振荡器时钟&#xff0c;也就是高速内部时钟&#xff0c;一般来说很少用&#xff0c;因为精度…

从VMware Workstation的虚拟机导入到esxi主机中

从VMware Workstation的虚拟机导入到esxi主机中 是从VMware Workstation中的虚拟机导入部署到ESXI主机中使用&#xff0c;使用真实环境导出和部署的过程&#xff0c;我为了帮助到有些初学者仅供参考&#xff0c;我做了知识共享。 1、打开VMware Workstation中的一个虚拟机&…

iis站点备份以及端口号查找

文件地址 %windir%\system32\inetsrv\config

遥感云大数据在灾害、水体与湿地领域典型案例实践及GPT模型

近年来遥感技术得到了突飞猛进的发展&#xff0c;航天、航空、临近空间等多遥感平台不断增加&#xff0c;数据的空间、时间、光谱分辨率不断提高&#xff0c;数据量猛增&#xff0c;遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇&#xf…

大数据——spark一文全知道

1、spark概述 spark是专为大规模数据处理而设计的快速通用计算引擎&#xff0c;与Hadoop的MapReduce功能类似&#xff0c;但它是基于内存的分布式计算框架&#xff0c;存储还是采用HDFS。 MapReduce和Spark的区别 MapReduce的MapReduce之间需要通过磁盘进行数据传递&#xf…