docker菜谱大全

news2024/12/23 20:01:26

在这里插入图片描述

记录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 后台运行。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java加密算法的应用与实现(MD5、SHA、DES、3DES、AES、RSA、ECC)

文章目录 一、散列加密算法1、概述2、常见算法(MD5、SHA)3、应用4、Java实现 二、对称加密算法1、概述2、常见算法(DES、3DES、AES)3、应用4、Java实现AES 三、非对称加密算法1、概述2、常见算法(RSA、ElGamal、Rabin、…

C++数学知识模板

试除法判定质数 模板 bool check_primes(int x) {for(int i 2; i * i < x; i) {if(x % i 0) return false;}return true; } 模板题 866. 试除法判定质数 给定 n个正整数 ai&#xff0c;判定每个数是否是质数。 输入格式 第一行包含整数 n。 接下来 n行&#xff0c…

试卷怎么去笔记和答案?这个工具好好用起来

在做试卷的过程中&#xff0c;整理笔记和答案是非常重要的&#xff0c;我们通常都会有一张用来写解题思路的草稿纸&#xff0c;这样可以避免直接在试卷上解答发现思路不对但也不能修改的困难了。但有时候我们写作业时难免会在试卷上解答出错&#xff0c;面对这种问题伙伴们其实…

第一百二十四天学习记录:C++提高:STL-deque容器(上)(黑马教学视频)

deque容器 deque容器基本概念 功能&#xff1a; 双端数组&#xff0c;可以对头端进行插入删除操作 deque与vector区别 vector对于头部的插入删除效率低&#xff0c;数据量越大&#xff0c;效率越低 deque相对而言&#xff0c;对头部的插入删除速度比vector快 vector访问元素的…

十九、docker学习-Dockerfile

Dockerfile 官网地址 https://docs.docker.com/engine/reference/builder/Dockerfile其实就是我们用来构建Docker镜像的源码&#xff0c;当然这不是所谓的编程源码&#xff0c;而是一些命令的集合&#xff0c;只要理解它的逻辑和语法格式&#xff0c;就可以很容易的编写Docke…

C数据结构与算法——二叉树 应用一

实验任务 (1) 掌握二叉树的二叉链表存储结构定义&#xff1b; (2) 掌握该存储方式下的二叉树基本算法&#xff1b; (3) 掌握三种遍历的递归算法。 实验内容 实现二叉链表存储结构及其基本算法算法简单应用 创建一颗二叉树的二叉链表输出该二叉树的三种遍历序列&#xff08;前…

redis的事务和watch机制

这里写目录标题 第一章、redis事务和watch机制1.1&#xff09;redis事务&#xff0c;事务的三大命令语法&#xff1a;开启事务 multi语法&#xff1a;执行事务 exec语法&#xff1a;取消事务 discard 1.2&#xff09;redis事务的错误和回滚的情况1.3&#xff09;watch机制语法&…

NodeJS 个性化音乐推荐系统 毕业设-附源码00485

摘要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用中&#xff0c;应用软件的工作规…

在excel调用SAP函数执行SAP数据查找或提交

1、下载插件 2、安装插件 3、执行函数 3.1 第一步 通过SAPRegister连接SAP服务器 var reg SAPRegister("10.10.14.15", "00", "mes", "AQ123456", "800") 需要改为实际的连接信息 "10.10.14.15" 为SAP服务器I…

【如何构建自己的基于Arduino的Scara 机器人】

【如何构建自己的基于Arduino的Scara 机器人】 1. 概述2. Scara机器人3D模型3. 3D打印机器人零件4. 组装机器人5. SCARA机器人电路图6. 完成装配7. SCARA机器人的工作原理8. 对 SCARA 机器人进行编程 – Arduino 和处理代码9. 总结在本教程中,我们将学习如何构建基于 Arduino …

Linux下C语言调用libcurl库下载文件到本地

一、项目介绍 当前文章介绍如何使用C语言调用libcurl库在Linux&#xff08;Ubuntu&#xff09;操作系统下实现网络文件下载功能。 libcurl是一个开源的跨平台网络传输库&#xff0c;用于在C和C等编程语言中实现各种网络通信协议的客户端功能。它支持多种协议&#xff0c;包括…

监测冷却塔面临的挑战和解决方案

工业冷却塔是现代生产过程中不可或缺的一部分&#xff0c;其稳定高效的运行对于许多工业流程至关重要。然而&#xff0c;冷却塔的监测任务并非易事&#xff0c;因为它们既有许多与其他旋转设备相似的特征&#xff0c;又面临一系列独特的挑战。在本文中&#xff0c;我们将探讨监…

在qemu中挂载镜像文件

将镜像文件作为交换分区 创建镜像文件&#xff1a; dd if/dev/zero ofswap.img bs512 count131072 qemu-system-arm -nographic -M vexpress-a9 -m 64M -kernel arch/arm/boot/zImage -append "rdinit/linuxrc consolettyAMA0 loglevel8" -dtb arch/arm/boot/dts/…

使用Automatic1111在本地PC上运行SDXL 1.0

这是我们部署Stable Diffusion的第三篇文章了&#xff0c;前两篇文章都详细介绍了Automatic1111的stable-diffusion-webui的安装&#xff0c;这次主要介绍如何使用SDXL 1.0模型。 获取项目 在本地获取Automatic1111’s WebUI项目&#xff0c;下载完成后应该是这个样子的 下载检…

【Redis】使用Docker镜像配置集群时的Operation timed out问题

不知道有没有小伙伴跟我一样是使用的Docker镜像进行Redis集群案例模拟的&#xff08;三台虚拟机确实带不动 &#xff09;&#xff0c;然后我遇到了一个问题&#xff1a;Could not connect to Redis at 172.17.0.2:6379: Operation timed out 172.17.0.2是我其中一个Redis实例的…

解决域控转移5个角色后关掉原主域控无法使用

最近域控win2016要升级到win2022&#xff0c;每次都是角色转移了&#xff0c;但是原先域控断网后&#xff0c;新角色域控无法单独运行&#xff0c;会提示找不到域服务器之类的 //转移5大角色 //需要在powershell执行 Move-ADDirectoryServerOperationMasterRole -Identity 你的…

Electron+vue3项目使用SQLite3数据库

SQLite 是一个进程内的库&#xff0c;实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库&#xff0c;这意味着与其他数据库不一样&#xff0c;我们不需要在系统中配置。 就像其他数据库&#xff0c;SQLite 引擎不是一个独立的进程&am…

C#,数值计算——多维下坡单纯形法(Downhill Simplex Method in Multidimensions)的计算方法与源程序

using System; namespace Legalsoft.Truffer { /// <summary> /// 多维下坡单纯形法 /// Downhill Simplex Method in Multidimensions /// </summary> public class Amoeba { private int nfunc { get; set; } private …

代理模式及常见的3种代理类型对比

代理模式及常见的3种代理类型对比 代理模式代理模式分类静态代理JDK动态代理CGLIBFastclass机制 三种代理方式之间对比常见问题 代理模式 代理模式是一种设计模式&#xff0c;提供了对目标对象额外的访问方式&#xff0c;即通过代理对象访问目标对象&#xff0c;这样可以在不修…

kubernetes 集群命令行工具 kubectl

1、kubectl 概述 kubectl是一种命令行工具&#xff0c;用于管理Kubernetes集群和与其相关的资源。通过kubectl&#xff0c;您可以查看和管理Pod、Deployment、Service、Volume、ConfigMap等资源&#xff0c;也可以创建、删除和更新它们。 kubectl还提供了许多其他功能&#x…