docker菜谱大全

在这里插入图片描述

记录docker常用软件安装,感谢小马哥和杨师傅的投稿。😎😎😎

相关文档:

  • DockerHub:https://hub.docker.com/
  • Linux手册:https://linuxcool.com/
  • Docker文档:https://docs.docker.com/
  • Docker中文网:https://www.docker.org.cn/
  • 菜鸟教程:https://www.runoob.com/?s=docker
  • how2j:https://how2j.cn/k/docker/docker-docker/2005.html
  • 阿里镜像源:https://cr.console.aliyun.com
  • DaoCloud:https://www.daocloud.io/mirror#accelerator-doc

文章目录

      • 1. Redis
      • 2. MariaDB
      • 3. MongoDB
      • 4. Nginx
      • 5. MinIO
      • 6. Nacos
      • 7. RabbitMQ
      • 8. Gogs
      • 9. 可视化工具(Portainer)
      • 10. ES、Kibana
      • 11. Kafka
      • 12. MySQL

1. Redis


dockerhub:https://hub.docker.com/_/redis

1、下载redis镜像:

docker pull redis:6.2.8 
docker pull redis:7.0.0

2、启动容器:(方式1:简单粗暴)

docker run --name redis -p 6379:6379 -d redis:6.2.8 redis-server --appendonly yes

3、启动容器:(方式2:开启AOF持久化、设置密码、挂载目录、开机自启)

docker run --name redis -p 6379:6379 -v /var/redis/data:/data --restart=always -d redis:7.0.0 redis-server --appendonly yes --requirepass "admin123"
  • --name redis:容器名称
  • -p 6379:6379:端口映射,访问redis的端口
  • -d:以后台模式运行容器
  • redis:7.0.0:redis镜像
  • redis-server:启动redis服务器
  • --restart=always:开机自启
  • --appendonly yes:开启AOF持久化模式,将写操作追加到文件末尾
  • -v /home/redis/data:/data:挂载目录 (开启AOF持久化后,生成的aof文件放入容器的/data目录中)
  • --requirepass "admin123":设置密码

进入容器操作redis:

# 以命令行交互方式进入redis容器
docker exec -it redis bash

# 使用客户端连接redis服务器 (带密码方式)
redis-cli -a admin123

image-20230808101018631

查看data目录下的aof文件:

image-20230808101452793

扩展:

# 删除所有dokcer容器 (包括正在运行的和已停止的容器)
docker rm -f $(docker ps -qa)

4、启动容器:(方式3:使用redis配置文件启动)


2. MariaDB


MySQL数据库在被Oracle公司收购后,从开源软件转变成为了“闭源”软件。MariaDB是MySQL的一个分支版本,可以作为对MySQL的替代选择,MariaDB在这个背景下迅速崛起并获得了广泛的市场认可和采用。

MariaDB也是由MySQL的创始人Michael Widenius开发的,它保持了与MySQL高度兼容的特性,因此可以无缝地迁移现有的MySQL应用程序到MariaDB上。同时,MariaDB还提供了一些新的功能和改进,以提供更好的性能、安全性和可扩展性。

img

1、下载mariadb镜像:

docker pull mariadb:10.1.21 

2、创建目录:(让宿主机持久化mariadb容器的数据、配置和日志文件)

mkdir -p /var/mariadb/{logs,conf,data}

3、在虚拟机 /var/mariadb/conf 目录下,创建hmy.conf文件:

vim /var/mariadb/conf/hmy.cnf
[mysqld]
skip-name-resolve
character_set_server=utf8 
datadir=/var/lib/mysql
  • skip-name-resolve 禁用dns解析。
  • character_set_server=utf8 设置字符集。
  • datadir=/var/lib/mysql 容器内部存数据的位置

4、启动容器:

docker run -d \
--name mariadb \
--restart=always \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=admin \
-v /var/mariadb/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /var/mariadb/db:/var/lib/mysql \
-v /var/mariadb/logs:/var/log/mysql \
-p 3307:3306 \
mariadb:10.1.21 

image-20230808191241734

4、使用可视化工具连接mariadb:

image-20230808191954231

image-20230808192021262


3. MongoDB


1、下载镜像:

docker pull mongo:4.2.1

2、启动容器:(MongoDB默认端口27017)

docker run -di \
-p 27017:27017 \
--name mongo-service \
--restart=always \
-v /var/mongodb/data:/data \
mongo:4.2.1

4. Nginx


1、下载镜像:

docker pull nginx:1.22.1

2、创建目录:(配置文件从自己电脑复制一份即可)

mkdir -p /mydocker/nginx/{html,conf,logs}

3、把本地nginx.conf配置文件和网页文件分别上传到虚拟机的/mydocker/nginx/conf/mydocker/nginx/html目录中。

image-20230809104855060

4、启动容器:

docker run -p 82:80 --name nginx \
-v /mydocker/nginx/html:/usr/share/nginx/html \
-v /mydocker/nginx/logs:/var/log/nginx \
-v /mydocker/nginx/conf:/etc/nginx \
-d nginx:1.22.1 

5、浏览器访问:http://ip:82


5. MinIO


1、下载镜像:

 下载新版minio
docker pull minio/minio

# 下载指定版本的minio
docker pull minio/minio:RELEASE.2021-04-06T23-11-00Z  

2、启动容器:

# 默认版本启动
docker run -p 9000:9000 -d \
--name minio \
--restart=always
-e "MINIO_ACCESS_KEY=minioadmin" \
-e "MINIO_SECRET_KEY=minioadmin" \
-v /mydocker/minio/data:/data \
-v /mydocker/minio/config:/root/.minio \
minio/minio server /data 

-------------------------------------------------------
-------------------------------------------------------

# 指定镜像版本启动
docker run -p 9000:9000 -d \
--name minio \
--restart=always
-e "MINIO_ACCESS_KEY=minioadmin" \
-e "MINIO_SECRET_KEY=minioadmin" \
-v /mydocker/minio/data:/data \
-v /mydocker/minio/config:/root/.minio \
minio/minio:RELEASE.2021-04-06T23-11-00Z server /data 
  • -p 9000:9000:端口映射,用于访问MinIO服务。
  • -d:以后台模式运行容器。
  • --name minio:指定容器的名称为"minio"。
  • --restart=always:设置容器总是在启动时自动重启。
  • -e "MINIO_ACCESS_KEY=minioadmin":设置MinIO的账号。
  • -e "MINIO_SECRET_KEY=minioadmin":设置MinIO的密钥。
  • -v /mydocker/minio/data:/data:挂载MinIO的数据目录。
  • -v /mydocker/minio/config:/root/.minio:挂载MinIO的配置目录。
  • minio/minio server /data:运行MinIO服务器,并将数据存储在容器内的/data目录中。

6. Nacos


1、下载nacos镜像:

docker pull nacos/nacos-server:1.2.0 

2、启动容器:

docker run -p 8848:8848 -d \
--name nacos \
--restart=always \
-e MODE=standalone \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
nacos/nacos-server:1.2.0
  • -p 8848:8848:端口映射,用于访问Nacos服务。
  • -e MODE=standalone:指定Nacos以独立模式运行(单机环境)。
  • -e JVM_XMS=256m:设置JVM的初始堆内存大小为256MB。
  • -e JVM_XMX=256m:设置JVM的最大堆内存大小为256MB。

3、查看容器日志:

docker logs -f nacos

img

管理页面访问地址:http://ip:8848/nacos


7. RabbitMQ


1、下载镜像:

docker pull rabbitmq:3.8-management

2、启动容器:

docker run -di \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=123456 \
-v mq-plugins:/plugins \
--name rabbitmq \
--hostname my-rabbit \
-p 15672:15672 \
-p 5672:5672 \
--restart=always \
rabbitmq:3.8-management
  • -di:以交互模式和后台模式运行容器。

  • -e RABBITMQ_DEFAULT_USER=admin-e RABBITMQ_DEFAULT_PASS=123456:设置RabbitMQ的用户名和密码。

  • -v mq-plugins:/plugins:挂载rabbitmq插件的数据卷。

  • --name rabbitmq:设置容器名称为rabbitmq

  • --hostname my-rabbit:设置容器的主机名为my-rabbit。

  • -p 15672:15672 :用于web管理页面使用的端口 (管理员页面)

  • -p 5672:5672 :用于生产和消费端使用的端口(通信端口,也就是在代码里要使用的)

  • rabbitmq:3.8-management:使用RabbitMQ官方镜像版本3.8以及带有管理界面的插件来运行容器。

扩展:启动xxx插件(后面会用到这个命令)

# 进入容器
docker exec -it rabbitmq /bin/bash

# 启动xxx插件
rabbitmq-plugins enable [xxx插件]
12345

web管理页面:http://ip:15672/


8. Gogs


安装教程:https://blog.csdn.net/qq_46921028/article/details/131426436

在这里插入图片描述


9. 可视化工具(Portainer)


docker run -d -p 9001:9000 \
--name prtainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
--privileged=true \
portainer/portainer

访问地址:http://ip:9001

① 创建账号:

设置登录密码,长度最少8位,方便记忆我就设置成admin123456啦。

img

② 选择管理本地docker环境

img

③ 进入docker管理面板:

img

img


10. ES、Kibana


安装教程:https://blog.csdn.net/qq_46921028/article/details/131929519


11. Kafka


1、下载zookeeper和kafka镜像:

docker pull zookeeper:3.4.14
docker pull wurstmeister/kafka:2.12-2.3.1

2、启动zookeeper容器:

docker run -d --name zookeeper -p 2181:2181 zookeeper:3.4.14

在这里插入图片描述

然后使用 docker logs -f zookeeper查看启动日志,如下图出现2181端口表示zookeeper服务已经成功启动了:

在这里插入图片描述

3、启动kafka容器:

docker run -d --name kafka \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.200.130 \
--env KAFKA_ZOOKEEPER_CONNECT=192.168.200.130:2181 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.200.130:9092 \
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
--env KAFKA_HEAP_OPTS="-Xmx256M -Xms256M" \
--net=host wurstmeister/kafka:2.12-2.3.1

参数介绍:

  • KAFKA_ADVERTISED_HOST_NAME:设置当前主机ip地址;(如果是云主机使用公网ip地址)
  • KAFKA_ZOOKEEPER_CONNECT:zookeeper的连接地址;
  • KAFKA_ADVERTISED_LISTENERS:kafka发布到zookeeper,供客户端使用的服务地址。
  • KAFKA_LISTENERS:允许使用PLAINTEXT侦听器;(kafka对外监听的端口)
  • KAFKA_HEAP_OPTS:限制内存的使用,用于性能调优;
  • –net=host:使用宿主机的和端口。(如果是云主机的话此处使用-p 9092:9092指定端口)

容器启动顺序:先启动zookeeper,再启动kafka。

docker start zookeeper
docker start kafka

12. MySQL


1、下载MySQL镜像:

docker pull mysql:5.7

2、创建目录(存mysql数据和配置文件)

mkdir -p /var/mysql/data
mkdir -p /var/mysql/conf

3、在虚拟机/var/mysql/conf目录下,创建hmy.conf文件:

[mysqld]
skip-name-resolve
character_set_server=utf8 
datadir=/var/lib/mysql
  • skip-name-resolve 禁用dns解析。
  • character_set_server=utf8 设置字符集。
  • datadir=/var/lib/mysql 容器内部存数据的目录

4、启动mysql容器:

docker run -d \
--name mysql1 \
--restart=always \
-e MYSQL_ROOT_PASSWORD=root \
-e TZ=Asia/Shanghai \
-p 3306:3306 \
-v /var/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /var/mysql/data:/var/lib/mysql \
mysql:5.7
  • -p 3306:3306 端口映射。
  • -e MYSQL_ROOT_PASSWORD=root ,密码设置为root。
  • -e TZ=Asia/Shanghai 设置时区。
  • –restart=always 开机容器自启。
  • -v /var/mysql/data:/var/lib/mysql 挂载数据存储位置。
  • -v /var/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf 挂载配置文件。
  • -d 后台运行。

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

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

相关文章

探索Python异常世界:玩转异常、模块与包

文章目录 一 异常概念二 异常的捕获方法2.1 捕获异常的原因2.2 捕获常规异常2.3 捕获指定异常2.4 捕获多个异常2.5 捕获异常并输入异常信息2.6 捕获所有异常2.7 异常else2.8 异常finally 三 异常的传递四 python模块4.1 模块的导入方式4.2 自定义模块4.3 测试模块4.4 注意事项4…

金蝶云星空与旺店通WMS对接集成盘盈单查询连通商品同步接口(盘盈单=>其他入库单)

金蝶云星空与旺店通WMS对接集成盘盈单查询连通商品同步接口(盘盈单>其他入库单) 来源系统:金蝶云星空 金蝶K/3Cloud结合当今先进管理理论和数十万家国内客户最佳应用实践,面向事业部制、多地点、多工厂等运营协同与管控型企业及集团公司,提供一个通用…

python爬虫相关

目录 初识爬虫 爬虫分类 网络爬虫原理 爬虫基本工作流程 搜索引擎获取新网站的url robots.txt HTHP协议 Resquests模块 前言: 安装 普通请求 会话请求 response的常用方法 简单案例 aiohttp模块 使用前安装模块 具体案例 数据解析 re解析 bs4…

第2章:模型评估与选择

经验误差与泛化误差 过拟合是核心问题。 过拟合是无法避免的,只能尽量去缓解。 每个算法都要思考,是怎么缓解过拟合的?缓解方法什么情况下会失效? 模型选择 评估方法 留出法 为什么不能太小? 因为Mx要用来逼近M100的结…

深入理解PyTorch中的NoamOpt优化器

深入理解PyTorch中的NoamOpt优化器 作者:安静到无声 个人主页 今天,我们将深入探讨一个在自然语言处理领域广泛使用的优化器——NoamOpt。这个优化器是基于PyTorch实现的,并且在"Attention is All You Need"这篇论文中首次提出。…

JedisDataException DENIED Redis is running in protected mode...异常的解决办法

一. 异常现象 壹哥最近在带学生做项目的过程中,有学生在使用Redis的时候,产生了如下这样的异常信息: com.yyg.demo.Demo01Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: DENIED Redis is runni…

Vue项目npm run dev 启动报错TypeError: Cannot read property ‘upgrade‘ of undefined

vue项目启动报错 TypeError: Cannot read property upgrade of undefined 由于我的vue.config.js文件 里面的代理target为空导致的 修改: 结果就可以正常运行了 参考原文: vue项目运行时报Cannot read property ‘upgrade’ of undefined错误_cannot r…

Springboot中拦截GET请求获取请求参数验证合法性

目录 目的 核心方法 完整代码 创建拦截器 注册拦截器 测试效果 目的 在Springboot中创建拦截器拦截所有GET类型请求,获取请求参数验证内容合法性防止SQL注入(该方法仅适用拦截GET类型请求,POST类型请求参数是在body中,所以下面…

git教程(第一次使用)

一、gitee和github区别 二、git使用 下载地址 windows:https://gitforwindows.org/ mac:http://sourceforge.net/projects/git-osx-installer/ 1.git初次运行前的配置 (1)配置用户信息 git config --global user.name "…

torch.functional.affine_grid的坑

问题描述:在用torch进行图像仿射变换的时候,平移始终有问题 比如现在想要让一张图对应的tensor平移0.5个图像长度 那么需要先构造一个transform_matrix,这里网上说的是偏移量不是像素值,而是归一化的比例 shift_x 0.5 shift_y…

LAMMPS推出GUI界面,模拟从未如此简单

lammps一直没有编辑界面,对新手来说特别的不友好,不过,今年8月4号lammps推出了一款包含界面的版本。 运行效果如下图所示,这个版本带有独立的编辑界面,可以使用菜单新建或者打开in文件,也可以使用菜单运行…

openGauss学习笔记-34 openGauss 高级数据管理-SCHEMA

文章目录 openGauss学习笔记-34 openGauss 高级数据管理-SCHEMA34.1 语法格式34.2 参数说明34.3 示例 openGauss学习笔记-34 openGauss 高级数据管理-SCHEMA SCHEMA又称作模式。通过管理SCHEMA,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象…

配置root账户ssh免密登录并使用docker-machine构建docker服务

简介 Docker Machine是一种可以在多种平台上快速安装和维护docker运行环境,并支持多种平台,让用户可以在很短时间内在本地或云环境中搭建一套docker主机集群的工具。 使用docker-machine命令,可以启动、审查、停止、重启托管的docker 也可以…

计算机组成原理-笔记-第四章

目录 第四章——指令系统 1、指令格式 (1)指令(机器指令-二进制数) (2)指令分类(按照 地址码的数量 分类) (3)指令分类(按照长度分类&#x…

.Net C# 免费PDF合成软件

最近用到pdf合成,发现各种软件均收费啊,这个技术非常简单,别人写好的库一大把,这里用到了PDFsharp,项目地址Home of PDFsharp and MigraDoc Foundation 软件下载地址 https://download.csdn.net/download/g313105910…

【Python学习笔记】Matplotlib画图

Matplotlib画图 一、基本函数1. plt.plot2. plt.text3. 设置刻度4. 设置坐标5.设置网格 二、绘制折线图三、绘制散点图四、绘制柱状图五、绘制双坐标图 一、基本函数 1. plt.plot 参数功能选项color改变折线颜色‘r’,‘g’,‘b’,‘black’,‘gray’marker改变数据点的形状‘…

知网期刊《中阿科技论坛》简介及投稿须知

知网期刊《中阿科技论坛》简介及投稿须知 主管单位:宁夏回族自治区科学技术厅 主办单位:宁夏回族自治区对外科技交流中心(中国一阿拉伯国家技术转移中心) 刊  期:月刊 国际刊号:ISSN 2096-7268 国内刊号:CN 64-…

Leetcode-每日一题【剑指 Offer 12. 矩阵中的路径】

题目 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 例如,在下面的 34 的矩阵中包含单词 "ABCCED"(单词中的字母…

java泛型和通配符的使用

泛型机制 本质是参数化类型(与方法的形式参数比较,方法是参数化对象)。 优势:将类型检查由运行期提前到编译期。减少了很多错误。 泛型是jdk5.0的新特性。 集合中使用泛型 总结: ① 集合接口或集合类在jdk5.0时都修改为带泛型的结构② 在实例化集合类时…