docker nginx mysql redis

启动没有数据卷的nginx
docker run -d -p 86:80 --name my-nginx nginx
把/etc/nginx中的配置复制到宿主机
docker cp my-nginx:/etc/nginx /home/nginxlkl

把/html 中的文件复制到宿主机
docker cp my-nginx:/etc/nginx /home/nginxlkl
删除当前镜像
docker rm -f my-nginx
重新起带数据卷的nginx
docker run -d --name my-nginx -v /home/nginxlkl/nginx:/etc/nginx -v /home/nginxlkl/html:/usr/share/nginx/html  -p 86:80 -d nginx:latest
修改nginx 配置文件需要重启
docker restart   my-nginx
    location  /gateway {
            rewrite  ^.+pers/?(.*)$ /$1 break;
            include  uwsgi_params;
            proxy_pass  http://ip:port;
            proxy_set_header x-forwarded-for  $remote_addr;
    }

 location /api {
                        proxy_pass  http://ip:port;
                        rewrite  ^/api/(.*)$ /$1 break;
                }
在这里插入代码片

mysql

安装前的思考
我们知道,容器如果不对数据做持久化(挂载数据卷),那么容器一旦重启或者删除,数据也就消失。所以我们要对MySQ数据做持久化,也就是挂载数据卷
之前在物理机上安装过MySQL的小伙伴都知道,安装完成后,我们要修改基本的配置,主要是编码。而如果要在容器内修改,那么容器删除后,配
vim my.cnf
[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=‘SET NAMES utf8mb4’

并把这个文件放到/data/mysql/conf下。
在这里插入图片描述

3.3 运行MySQL容器

docker run -d -p 3306:3306 --privileged=true -v /data/mysql/log:/var/log/msql -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql5.7 mysql:5.7.44

新建本地挂载配置文件夹(位置随意)
1、创建文件夹(位置随意):data、conf

redis 默认配置只能够本地连接、不能进行远程访问
 需要手动挂载 redis 配置文件
mkdir -p /root/docker/redis/data

mkdir -p /root/docker/redis/conf
sudo mkdir -p /mydata/redis/conf

sudo touch /mydata/redis/conf/redis.conf

2、新增配置文件:redis.conf

redis 配置文件挂载:以配置文件方式启动redis 容器
挂载:将宿主的文件和容器内部目录相关联、相互绑定、
	在宿主机内修改文件的话也随之修改容器内部文件

创建文件:

sudo touch /mydata/redis/conf/redis.conf

redis.conf内容配置:

#bind 127.0.0.1 //允许远程连接
protected-mode no
appendonly yes //持久化
requirepass 2419 //密码 

3、挂载redis 的持久化文件(为了数据的持久化)

配置文件:
	liunx 下redis.conf文件位置: /home/redis/myredis/redis.conf
	liunx 下redis的data文件位置 : /home/redis/myredis/data
	位置随便选择
不存在就直接创建/home/redis/myredis 文件夹:
		命令:mkdir -p /home/redis/myredis

创建/启动Redis容器(创建镜像实例)

docker run --name my_redis -p 6379:6379 \ 
-v /root/docker/redis/data:/data \ 
-v /root/docker/redis/conf/redis.conf:/etc/redis/redis.conf \ 
-d redis redis-server /etc/redis/redis.conf

java
在这里插入图片描述
dockerfile

FROM openjdk:11-jdk
ENV BASE_PATH=/api
WORKDIR $BASE_PATH
# 将宿主机上的 ssm-docker-0.0.1-SNAPSHOT.jar 移动到 /cyk/apps 目录下并改名为 apps.jar
ADD app.jar $BASE_PATH/apps.jar
EXPOSE 7005
ENTRYPOINT ["java", "-jar"]
CMD ["apps.jar"]
docker build -t spring1 .
docker run -t -d -p 7008:7005  spring1

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

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

相关文章

理解算法复杂度:时间复杂度详解

引言 在计算机科学中,算法复杂度是衡量算法效率的重要指标。时间复杂度和空间复杂度是算法复杂度的两个主要方面。在这篇博客中,我们将深入探讨时间复杂度,了解其定义、常见类型以及如何进行分析。 什么是时间复杂度? 时间复杂度…

【多语言独立站】什么是跨境电商独立站?||如何完成完善电商系统搭建

随着国际贸易的发展和互联网技术的不断提升,在跨境电商业务中,独立站是一个非常重要的组成部分。我们经常会听到的词语就是:「跨境电商独立站」、「外贸独立站」、「跨境独立站」、「电商独立站」等等。因此,我们可以发现独立站和…

【web前端HTML+CSS+JS】--- JS学习笔记03

一、JS介绍 可以在前端页面上进行逻辑处理,来解决表单的验证等问题,提升效率,直接在前端提示问题,减少服务器压力 应用1:可以做静态验证和动态验证(进行异步请求) 应用2:可以解析后…

Splunk Enterprise 任意文件读取漏洞(CVE-2024-36991)

文章目录 前言漏洞描述影响版本漏洞复现POC批量检测-nuclei脚本 修复建议 前言 Splunk Enterprise 是一款强大的机器数据管理和分析平台,能够实时收集、索引、搜索、分析和可视化来自各种数据源的日志和数据,帮助企业提升运营效率、增强安全性和优化业务…

【可视化还能免费做?!】数据安全不用愁,快来用这款免费可视化工具做智慧港口管理平台

在智慧港口的建设中,实现港口的统一调度是一项关键任务。山海鲸可视化,这款免费可视化工具,通过其卓越的功能和特色,为智慧港口的建设提供了强大的支持。从智慧港口的需求出发,结合船舶调度和货物转运的需求&#xff0…

「API取数」FDL获取金蝶云星空的单据数据

很多企业的ERP系统都在用金蝶云星空,金蝶云星空API是IT人员获取数据的重要来源, 常常用来生成定制化报表,进行数据分析,或是将金蝶云的数据与OA系统、BI工具集成。 通常情况下,IT人员需要使用Python、Java等语言编写脚…

Failed to get D-Bus connection: Operation not permitted

最近使用wsl安装了centOS7镜像,在系统中安装了docker服务,但是在执行systemctl start docker的时候遇到了:Failed to get D-Bus connection: Operation not permitted问题,查阅了很多资料都没有效果,最终找到了一种解决…

理解JS与多线程

理解JS与多线程 什么是四核四线程? 一个CPU有几个核它就可以跑多少个线程,四核四线程就说明这个CPU同一时间最多能够运行四个线程,四核八线程是使用了超线程技术,使得单个核像有两个核一样,速度比四核四线程有多提升。…

Q-Learning实战——找房间

介绍 样例来自A Painless Q-learning Tutorial (一个 Q-learning 算法的简明教程) 简单来说就是从某个房间开始,找到去目标房间的路径。 代码实现 import numpy as np from tqdm import tqdm, trangeroom_num 6 room_paths [(0, 4), (3, 4), (3, 1), (1, 5)…

exel带单位求和,统计元素个数

如果exel表格中,如果数据有单位,无法直接用 自动求和 直接求和。如下图所示,求和结果为0,显然不是我们想要的。 用下面的公式求和,单位不是“个”的时候记得替换单位。统计范围不是“C1:C7”也记得换一下啊&#xff01…

19_谷歌GoogLeNet(InceptionV1)深度学习图像分类算法

1.1 简介 GoogLeNet(有时也称为GoogleNet或Inception Net)是一种深度学习架构,由Google的研究团队在2014年提出,主要设计者为Christian Szegedy等人。这个模型是在当年的ImageNet大规模视觉识别挑战赛(ILSVRC&#xf…

实用性提升百分之一百!!!【ONLYOFFICE 8.1版本】全方位深度性能测评

目录 【ONLYOFFICE 8.1 版本】全方位深度性能测评 一、界面与用户体验 二、文字处理功能 表格处理功能 演示文稿功能 协作与共享功能 性能与稳定性 总结 【ONLYOFFICE 8.1 版本】全方位深度性能测评 在当今数字化办公的时代,办公软件的选择对于提高工作效率和…

【HTML入门】第四课 - 换行、分割横线和html的注释

这一小节,我们继续说HTML的入门知识,包括换行、横线分割以及注释(html的注释)。 目录 1 换行 2 分割横线 3 html注释 1 换行 html中分为块元素和行内元素。这一小节呢,先不说这些元素们,我们先说一下换…

安装Gradle

官网文档 https://gradle.org/ 腾讯下载镜像:https://mirrors.cloud.tencent.com/gradle/ 文档:https://docs.gradle.org/current/userguide/userguide.html 命令行文档:https://docs.gradle.org/current/userguide/command_line_interface.…

Python提取视频文案

Python提取视频文案 1、背景描述2、视频转音频3、音频转文字 1、背景描述 在多媒体应用中,视频是一个信息量巨大的载体。然而,有时我们需要从视频中提取语音并转换为文本,以用于文本分析和机器学习训练 其中主要涉及到两个过程:视…

String类(STL开始)

相信大家都知道STL在C中的重要性,作为其模板库中的一部分,包含了常见的数据结构和算法,是C的标准库 而我们今天要讲的String类(String底层是一个字符顺序数组的顺序表对象,可以归类为容器),其实…

MySQL安装时initializing database失败

问题页面: 解决方法: 1.勾选红框中的选项: 2.将下图红框中全部改为英文: 然后一路next就可以了。

洛谷 P3613 学习用map代替大大大数组的好题

题目链接:P3613 【深基15.例2】寄包柜 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目截图: 题意分析: 非常简单的存入和取出操作 唯一的 “难点” 在于 数组开不到 a[100007][100007],会暴内存 非常巧妙的引入 map 来解决…

广州银行多份招股书数据货不对板:内控风险难平,IPO曲折前行

作者|芋圆 来源|贝多财经 6月29日,广州银行第五次更新了招股说明书。 作为制造业大省的头部城商行,广州银行的发展一直备受关注。拆解可知,广州银行2023年在盈利能力、内控、资本充足性、资产质量等方面的表现,凸显了该行接下来…

Linux三剑客(grep、awk和sed)操作及与管道结合使用

1. 总览 grep、sed和awk被称为Linux三剑客,是因为它们在文本处理和数据操作方面极其强大且常用。 Linux三剑客在文件处理中的作用: grep(数据查找定位):文本搜索工具,在文件中搜索符合正则表达式的文本内容…