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

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

本文主要给大家介绍如何使用 docker 搭建常用的服务环境,

包括mysql,reedis,nginx,jenkins 等常用的环境,下面直接进入主题。

1、MySQL 部署

①搜索 MySQL 镜像

docker search mysql

②拉取 MySQL 镜像

docker pull mysql:5.7

③创建容器,设置端口映射,目录映射

●在宿主机中创建一个 MySQL 目录,用来存储数据库信息

  1. mkdir ~/mysql

  2. 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 ③创建容器&#xf…...

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

给定两个点&#xff0c;原点和p点&#xff0c;现在需要从原点走到p点&#xff0c;有两个光源&#xff0c;a点和b点&#xff0c;这两个光源的半径相等&#xff0c;我们需要输出最小的半径的数值 代码 #include<bits/stdc.h> using namespace std;double dist(double x1,…...

【Redis】Set集合内部编码方式

内部编码 集合类型的内部编码有两种&#xff1a; intset&#xff08;整数集合&#xff09;&#xff1a;当集合中的元素都是整数并且元素的个数⼩于set-max-intset-entries配置&#xff08;默认512个&#xff09;时&#xff0c;Redis会选⽤intset来作为集合的内部实现&#xf…...

2023美团外卖商家含月销量均价

外卖商家含商家基本信息、电话、月销量、均价、评分等信息...

实施运维02

一.网线制作 1.所需材料 网线&#xff0c;水晶头&#xff0c;网线钳&#xff0c;水晶头, 路由器或者网络测速仪 网线钳 网线制作标准 T568A标准&#xff08;交叉线&#xff09;&#xff1a;适用链接场合&#xff1a;电脑-电脑、交换机-交换机、集线器-集线器 接线顺序&…...

MySQL数据生成工具mysql_random_data_load

在看MySQL文章的时候偶然发现生成数据的工具&#xff0c;此处直接将软件作者的文档贴了过来&#xff0c;说明了使用方式及下载地址 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 机型分辨率&#xff0c;屏幕尺寸&#xff0c;PPI详细数据&#xff01;已更新到iPhone 15系列&#xff01; 点击放大查看高清图 &#xff01;...

Java实验一 Java语言基础(12题)

文章目录&#xff1a; 1、我国历法中的天干、地支和生肖的排列是有规律的。天干的顺序是“甲乙丙丁戊己庚辛壬癸”&#xff0c;地支的顺序是“子丑寅卯辰巳午未申酉戌亥”&#xff0c;生肖的顺序是“鼠牛虎兔龙蛇马羊猴鸡狗猪”。天干、地支、生肖的计算方法非常简单&#xff…...

Unity可视化Shader工具ASE介绍——5、ASE快捷键和常用节点介绍

大家好&#xff0c;我是阿赵。   继续介绍Unity可视化Shader插件ASE。这次来说一些常用节点的快捷键&#xff0c;顺便介绍一些常用的节点。   用过UE引擎的朋友可能会发现&#xff0c;ASE的整体用法和UE的材质节点编辑器非常的像&#xff0c;甚至连很多节点的快捷键都和UE的…...

【axmol-2.1 vs cocos2dx性能备忘】

axmol-2.1-08c0605 cocos2d-x-4.0 cocos2d-x-3.17.1 结论 从多边形Sprite渲染性能测试用例看&#xff0c;axmol相对于cocos2d-x-4.0提升42%, 相对于cocos2d-x-3.17.1提升30.8%...

idea compile项目正常,启动项目的时候build失败,报“找不到符号”等问题

1、首先往上找&#xff0c;看能不能找到如下报错信息 You aren’t using a compiler supported by lombok, so lombok will not work and has been disabled. 2、这种问题属于lombok编译失败导致&#xff0c;可能原因是依赖jar包没有更新到最新版本 3、解决方案 1&#xff09…...

从零开始:深入理解Kubernetes架构及安装过程

K8s环境搭建 文章目录 K8s环境搭建集群类型安装方式环境规划克隆三台虚拟机系统环境配置集群搭建初始化集群&#xff08;仅在master节点&#xff09;配置环境变量&#xff08;仅在master节点&#xff09;工作节点加入集群&#xff08;knode1节点及knode2节点&#xff09;安装ca…...

混淆技术研究笔记(五)混淆后如何反篡改?

有了上一节的基础工具后&#xff0c;接下来要考虑如何反篡改。 本文采用的是对混淆后的代码&#xff0c;针对某些关键包的字节码数据计算md5值&#xff0c;对所有类计算完成后对md5值进行排序&#xff0c;排序后拼接字符串再次计算md5值&#xff0c;最后通过私钥对md5进行RSA对…...

QTableWidget 表格部件

QTableWidget是QT中的表格组件类。一般用来展示多行多列的数据&#xff0c;是QT中使用较多的控件之一。1、QTableWidgetItem对象 QTableWidget中的每一个单元格都是一个QTableWidgetItem对象&#xff0c;因此先介绍下QTableWidgetItem的常用方法。 1.1、设置文本内容 void QT…...

告别API依赖!实测具备“看屏幕”能力的Agent,实在Agent如何重构企业自动化天花板?

在2026年这个被业界公认为“智能体元年”的当下&#xff0c;企业数字化转型已从简单的“系统上线”演进到“全量自动化”的深水区。然而&#xff0c;传统API接口的局限性与老旧系统的数据孤岛&#xff0c;始终是横亘在降本增效路上的大山。本文由「企服AI产品测评局」带来深度实…...

【力扣hot100】 198. 打家劫舍

一、题目你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c; 影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c; 如果两间相邻的房屋在同一晚上被小偷闯入&#xff0c;系统会自动报警。 给定一个代表每个房屋存…...

DownKyi:3分钟学会B站视频下载的终极免费方案

DownKyi&#xff1a;3分钟学会B站视频下载的终极免费方案 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&#xff09;。…...

【西工大主办、连续多届稳定检索】第七届机械仪表与自动化国际学术会议(ICMIA 2026)

2026年第七届机械仪表与自动化国际学术会议&#xff08;ICMIA 2026&#xff09;定于2026年6月26-28日在中国成都隆重举行。随着科学技术的不断发展和工业化的加速&#xff0c;现代工业生产的自动化程度越来越高。而机械仪表自动化作为现代工业控制的重要组成部分&#xff0c;其…...

SecGPT-14B模型压力测试:验证OpenClaw高并发安全任务的稳定性

SecGPT-14B模型压力测试&#xff1a;验证OpenClaw高并发安全任务的稳定性 1. 测试背景与目标 最近在探索如何将OpenClaw与安全大模型结合&#xff0c;构建一个自动化安全分析助手。SecGPT-14B作为一款专注于网络安全的大模型&#xff0c;理论上可以处理端口扫描、日志分析等任…...

3步掌握本地语音合成:tts-vue离线语音包配置终极指南

3步掌握本地语音合成&#xff1a;tts-vue离线语音包配置终极指南 【免费下载链接】tts-vue &#x1f3a4; 微软语音合成工具&#xff0c;使用 Electron Vue ElementPlus Vite 构建。 项目地址: https://gitcode.com/gh_mirrors/tt/tts-vue 还在为网络不稳定导致的语音…...

LeetCode //C - 1002. Find Common Characters

1002. Find Common Characters Given a string array words, return an array of all characters that show up in all strings within the words (including duplicates). You may return the answer in any order. Example 1: Input: words [“bella”,“label”,“roll…...

Xbox Game Pass存档提取终极指南:3步实现跨平台游戏进度无缝迁移

Xbox Game Pass存档提取终极指南&#xff1a;3步实现跨平台游戏进度无缝迁移 【免费下载链接】XGP-save-extractor Python script to extract savefiles out of Xbox Game Pass for PC games 项目地址: https://gitcode.com/gh_mirrors/xg/XGP-save-extractor 对于使用X…...

C语言新手避坑指南:math.h库函数参数检查与常见编译错误解决

C语言新手避坑指南&#xff1a;math.h库函数参数检查与常见编译错误解决 刚接触C语言的开发者在使用math.h库时&#xff0c;往往会遇到各种"坑"——从莫名其妙的计算结果到令人困惑的编译错误。这些问题看似简单&#xff0c;却可能让初学者浪费数小时调试时间。本文将…...

3分钟掌握Umi-OCR:让文字识别变得如此简单的免费离线工具

3分钟掌握Umi-OCR&#xff1a;让文字识别变得如此简单的免费离线工具 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片&#xff0c;PDF文档识别&#xff0c;排除水印/页眉页脚&#xff0c;扫描/生成二维码。内置多国…...