不外传秘诀| docker 快速搭建常用的服务环境

本文主要给大家介绍如何使用 docker 搭建常用的服务环境,
包括mysql,reedis,nginx,jenkins 等常用的环境,下面直接进入主题。
1、MySQL 部署
①搜索 MySQL 镜像
docker search mysql
②拉取 MySQL 镜像
docker pull mysql:5.7
③创建容器,设置端口映射,目录映射
●在宿主机中创建一个 MySQL 目录,用来存储数据库信息
-
mkdir ~/mysql -
cd mysql:5.7
●启动容器
docker run -id \
-p 3306:3306 \
--name db \
-v /mysql/conf:/etc/mysql/conf.d \
-v /mysql/logs:/logs \
-v /mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7
○ -p 3307:3306 :宿主机的 3307 端口映射到容器的 3306 端口
○ --name c_mysql: 指定容器名称
○ -v /mysql/conf:/etc/mysql/conf.d : 挂载 MySQL 配置文件的路径到容器
○ -v /mysql/logs:/logs :将 MySQL 日志文件的路径挂载到容器
○ -v /mysql/data:/var/lib/mysql:将主机 MySQL 的数据文件目录挂载到容器
④数据库操作
●进入容器操作数据库
# 进入容器
docker exec -it c_mysql /bin/bash
# 进入mysql
mysql -uroot -p123456
# 创建一个远程连接账号> use mysql> grant all privileges on * to 'test'@'%' identified by 'mysql';
# 刷新权限> flush privileges
●客户端远程连接数据库
# 数据库host为:宿主机的IP
# 数据库端口为:3306
# 数据库账号密码:自己上面设置的账号密码
2、nginx 部署
①搜索镜像
docker search nginx
②拉取镜像
docker pull nginx
③创建容器,映射端口
●本地创建 nginx 数据存储文件
# 创建nginx目录
mkdir /nginx
cd /nginx
mkdir conf
cd conf
# 编辑nginx配置文件
vi nginx.conf
●nginx 配置文件内容
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;events {worker_connections 768;
}http {sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;include /etc/nginx/mime.types;default_type application/octet-stream;ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLEssl_prefer_server_ciphers on;access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;gzip on;include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;}
●运行容器
docker run -id \
--name nginx-test \
-p 8000:80 \
-v /nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /nginx/logs:/var/log/nginx \
nginx
●验证是否安装成功
通过访问 http://ip:8000,验证是否可以访问 nginx 服务。
3、Redis 部署
①搜索镜像
docker search redis
②拉取镜像
docker pull redis
③运行容器
docker run -id --name redis-test -p 6379:6379 redis
●设置密码
docker run -id --name redis-test -p 6379:6379 redis --requirepass 123456
到此为止 Redis 就安装成功啦。
4、jenkins 部署
①下载 jenkins 镜像
docker pull jenkins/jenkins
②启动容器,并映射出端口和挂在目录
docker run --name jenkins -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts-jdk11
③进入容器获取 jenkins 的密码
# 进入容器
docker exec -it jenkins /bin/bash
# 容器内执行,获取jenkins初始密码
cat /var/jenkins_home/secrets/initialAdminPassword
④访问 jenkins 服务 http://ip:8080,输入上面设置的密码,然后按页面提示流程进行初始化操作,设置账号密码,选择安装插件,即可进入到 jenkins 的主页面啦。
5、私有仓库的搭建
如果你想搭建一个自己的私有 Docker 仓库,也很简单,只需要几个步骤即可实现,
①搭建仓库
Docker 官方提供了一个搭建私有仓库的镜像 registry ,只需把镜像下载下来,运行容器并暴露 5000 端口,就可以使用了。
docker pull registry:2
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2
Registry 服务默认会将上传的镜像保存在容器的/var/lib/registry,我们将主机的/opt/registry 目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry 目录了。
②推送镜像到私有仓库
要通过 docker tag 将该镜像标志为要推送到私有仓库:
docker tag nginx:latest localhost:5000/nginx:latest
通过 docker push 命令将 nginx 镜像 push 到私有仓库中:
docker push localhost:5000/nginx:latest
③拉取私有仓库的镜像
拉取私有仓库的镜像,使用如下命令:
docker pull localhost:5000/镜像名:版本号
例如
docker pull localhost:5000/nginx:latest
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关文章:
不外传秘诀| docker 快速搭建常用的服务环境
本文主要给大家介绍如何使用 docker 搭建常用的服务环境, 包括mysql,reedis,nginx,jenkins 等常用的环境,下面直接进入主题。 1、MySQL 部署 ①搜索 MySQL 镜像 docker search mysql ②拉取 MySQL 镜像 docker pull mysql:5.7 ③创建容器…...
OrcaTerm AI
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,…...
为什么我说国内大模型都是渣渣?
先看看我的小破站实现了哪些功能? 2023-10-10 实现图床功能,图床链接。 2023-10-05 实现短视频文(本)案提取,并与GPT进行交互,暂不开放。至此,从文本到视频,再从视频到文本&#…...
B端产品需求分析的思路和方法 4大方面
需求分析对产品成功和客户满意度至关重要,它帮助团队深入了解用户需求,优化用户体验,减少开发中的需求变更,降低开发风险。如果缺乏产品分析,容易造成产品定位不准确,用户体验不佳,不能满足用户…...
2018架构真题案例(四十九)
某文件采用多级索引结构,磁盘大小4K字节,每个块号4字节,那么二级索引结果时,文件最大。 A、1024 B、1024*1024 C、2048*2048 D、4096*4096 答案:B 霍尔三维结构以时间堆、()堆、知识堆组成…...
日常学习收获之----react的ref和wrappedComponentRef的区别
react获取子组件的方式,有ref和wrappedComponentRef。那这两者有什么区别呢? 区别在于是否用了高阶组件!!!!!!!!!!!&#…...
LONGLORA: EFFICIENT FINE-TUNING OF LONGCONTEXT LARGE LANGUAGE MODELS
本文是LLM系列文章,针对《LONGLORA: EFFICIENT FINE-TUNING OF LONGCONTEXT LARGE LANGUAGE MODELS》的翻译。 Longlora:长上下文大型语言模型的高效微调 摘要1 引言2 相关工作3 LongLoRA4 实验5 结论 摘要 我们提出了LongLoRA,一种有效的微调方法&…...
CF1186B
给定两个点,原点和p点,现在需要从原点走到p点,有两个光源,a点和b点,这两个光源的半径相等,我们需要输出最小的半径的数值 代码 #include<bits/stdc.h> using namespace std;double dist(double x1,…...
【Redis】Set集合内部编码方式
内部编码 集合类型的内部编码有两种: intset(整数集合):当集合中的元素都是整数并且元素的个数⼩于set-max-intset-entries配置(默认512个)时,Redis会选⽤intset来作为集合的内部实现…...
2023美团外卖商家含月销量均价
外卖商家含商家基本信息、电话、月销量、均价、评分等信息...
实施运维02
一.网线制作 1.所需材料 网线,水晶头,网线钳,水晶头, 路由器或者网络测速仪 网线钳 网线制作标准 T568A标准(交叉线):适用链接场合:电脑-电脑、交换机-交换机、集线器-集线器 接线顺序&…...
MySQL数据生成工具mysql_random_data_load
在看MySQL文章的时候偶然发现生成数据的工具,此处直接将软件作者的文档贴了过来,说明了使用方式及下载地址 Random data generator for MySQL Many times in my job I need to generate random data for a specific table in order to reproduce an is…...
iPhone 15分辨率,屏幕尺寸,PPI 详细数据对比 iPhone 15 Plus、iPhone 15 Pro、iPhone 15 Pro Max
史上最全iPhone 机型分辨率,屏幕尺寸,PPI详细数据!已更新到iPhone 15系列! 点击放大查看高清图 !...
Java实验一 Java语言基础(12题)
文章目录: 1、我国历法中的天干、地支和生肖的排列是有规律的。天干的顺序是“甲乙丙丁戊己庚辛壬癸”,地支的顺序是“子丑寅卯辰巳午未申酉戌亥”,生肖的顺序是“鼠牛虎兔龙蛇马羊猴鸡狗猪”。天干、地支、生肖的计算方法非常简单ÿ…...
Unity可视化Shader工具ASE介绍——5、ASE快捷键和常用节点介绍
大家好,我是阿赵。 继续介绍Unity可视化Shader插件ASE。这次来说一些常用节点的快捷键,顺便介绍一些常用的节点。 用过UE引擎的朋友可能会发现,ASE的整体用法和UE的材质节点编辑器非常的像,甚至连很多节点的快捷键都和UE的…...
【axmol-2.1 vs cocos2dx性能备忘】
axmol-2.1-08c0605 cocos2d-x-4.0 cocos2d-x-3.17.1 结论 从多边形Sprite渲染性能测试用例看,axmol相对于cocos2d-x-4.0提升42%, 相对于cocos2d-x-3.17.1提升30.8%...
idea compile项目正常,启动项目的时候build失败,报“找不到符号”等问题
1、首先往上找,看能不能找到如下报错信息 You aren’t using a compiler supported by lombok, so lombok will not work and has been disabled. 2、这种问题属于lombok编译失败导致,可能原因是依赖jar包没有更新到最新版本 3、解决方案 1)…...
从零开始:深入理解Kubernetes架构及安装过程
K8s环境搭建 文章目录 K8s环境搭建集群类型安装方式环境规划克隆三台虚拟机系统环境配置集群搭建初始化集群(仅在master节点)配置环境变量(仅在master节点)工作节点加入集群(knode1节点及knode2节点)安装ca…...
混淆技术研究笔记(五)混淆后如何反篡改?
有了上一节的基础工具后,接下来要考虑如何反篡改。 本文采用的是对混淆后的代码,针对某些关键包的字节码数据计算md5值,对所有类计算完成后对md5值进行排序,排序后拼接字符串再次计算md5值,最后通过私钥对md5进行RSA对…...
QTableWidget 表格部件
QTableWidget是QT中的表格组件类。一般用来展示多行多列的数据,是QT中使用较多的控件之一。1、QTableWidgetItem对象 QTableWidget中的每一个单元格都是一个QTableWidgetItem对象,因此先介绍下QTableWidgetItem的常用方法。 1.1、设置文本内容 void QT…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…...
React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构
React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

