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
      • 13. Oracle11g

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

13. Oracle11g


1、下载镜像:(一个大佬打包的镜像,比官网版好用些)

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2、启动镜像:

docker run -d \
--name oracle11g  \
-e JAVA_OPTS="-Xms256m -Xmx256m" \
-p 1521:1521 \
--privileged=true \
--restart=always \
-v /var/oracle:/data/oracle \
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

image-20230809210720976

3、进oracle容器,切换root账户:

# 进入容器
docker exec -it oracle11g bash# 切换成root账户,密码为:helowin
su root

image-20230809210942866

4、配置oralce环境变量:

vi /etc/profile
# 将光标移动到底部G,然后按o另起一行,复制以下内容
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

image-20230809212140243

:wq 保存退出。

让环境变量重新生效:

source /etc/profile

5、创建软连接:

# 创建软链接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

6、切换到oracle用户:

su - oracle

image-20230809212907941

7、oracle相关操作:

登录sqlplus:

# 启动SQLPlus命令行工具,但不进行任何数据库连接
qlplus /nolog# 使用SYSDBA(系统管理员)身份连接到数据库
conn /as sysdba

image-20230809213855791

修改sys、system用户的密码:

# 修改system用户的密码为system
alter user system identified by system;
# 修改sys用户的密码为sys
alter user sys identified by system;# 修改密码规则策略为密码永不过期
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;# exit; 退出sql命令行

image-20230809214629660
开启scott用户:(示例用户,提供了一些表和数据)

# 解锁scott用户(默认情况下,该用户是被禁用的,需要超级管理员权限才能执行解锁操作)
alter user scott account unlock;# 解锁scott用户的密码 (也可以用于重置用户密码)
alter user scott identified by tiger;

8、查看oracle实例状态:

lsnrctl status

image-20230809215010188

9、使用可视化工具连接Oracle数据库:

  • 服务名:helowin

  • 用户名/密码:scott/tiger

image-20230810005849167

image-20230810010101488

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

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

相关文章

ubuntu 暂时不能解析域名 解决办法

需要修改系统DNS 打开终端:输入 sudo vi /etc/resolv.conf 回车 在打开的配置文件中添加DNS信息 nameserver 114.114.114.114 nameserver 8.8.8.8 保存退出,重启系统即可。

20230802-下载并安装android-studio

下载 android-studio 安装包 https://developer.android.google.cn/studio/ 安装android-studio 双击安装包 D:\Android Studio

Android平台一对一音视频通话方案对比:WebRTC VS RTMP VS RTSP

一对一音视频通话使用场景 一对一音视频通话都需要稳定、清晰和流畅,以确保良好的用户体验,常用的使用场景如下: 社交应用:社交应用是一种常见的使用场景,用户可以通过音视频通话进行面对面的交流;在线教…

Redis 6.0的新特性:多线程、客户端缓存与安全

2020年5月份,6.0版本。 面向网络处理的多IO线程可以提高网络请求处理的速度,而客户端缓存可以让应用直接在客户端本地读取数据,这两个特性可以提升Redis的性能。 细粒度权限控制让Redis可以按照命令粒度控制不同用户的访问权限,…

基于MATLAB小波变换的信号突变点检测

之前在不经意间也有接触过求突变点的问题。在我看来,与其说是求突变点,不如说是我们常常玩的"找不同"。给你两幅图像,让你找出两个图像中不同的地方,我认为这其实也是找突变点在生活中的应用之一吧。回到找突变点位置上…

区块链学习6-长安链部署:如何创建特定共识节点数和同步节点数的链

正常prepare的时候只支持4 7 13 16个节点个数,想要创建10个节点,其中5个是共识节点,如何实现? 1. 注释掉prepare.sh的这几行: 2. 修改 crytogen的模板文件: 如果是cert模式:chainmaker-crypt…

AI lightning学习

真的是没有mmlab的框架好理解,hook调用没问题,就是代码写的不整洁,hook放的到处都是,而且hook的名字和run的名字也不好对应。 又是捧mmengine的一天 😃

vue实现文件下载

实现效果图&#xff1a;点击蓝色文字&#xff0c;下载文件 代码实现&#xff1a; <div v-for"(item, index) in form.fileList" :key"index"><i class"el-icon-upload" style"color: #c0c4cc; margin-right: 5px"></i&…

【CSS3】CSS3 动画 ③ ( 动画属性 | CSS3 常见动画属性简介 | 动画属性简写方式 | 动画属性简写语法 | 使用动画制作热点地图 )

文章目录 一、CSS3 动画属性1、CSS3 常见动画属性简介2、代码示例 - CSS3 常见动画属性使用 二、CSS3 动画属性简写方式1、CSS3 动画属性简写语法2、animation 简写动画属性提示3、动画属性简写形式与原形式对比4、代码示例 - CSS3 动画属性简写示例 三、使用动画制作热点地图1…

基于Echarts的大数据可视化模板:智慧物流管理

目录 引言物流管理的重要性大数据可视化在解决物流管理挑战中的作用智慧物流概述定义智慧物流的概念和特点智慧物流的关键技术和平台风险管理和预测:交通拥堵情况和风险预警Echarts与大数据可视化Echarts库以及其在大数据可视化领域的应用优势开发过程和所选设计方案模板如何满…

医疗行业如何防范弱口令攻击?这份弱口令治理方案请收好

随着5G、云计算、物联网等新兴技术与传统医疗系统的不断深化融合&#xff0c;我国医疗信息化程度越来越高&#xff0c;逐步向数字化、智慧化医疗演进&#xff0c;蓬勃发展的信息化也使医疗行业面临的安全风险逐渐增多。数据泄露、勒索病毒等问题频发&#xff0c;加之《等保》、…

微信开发之朋友圈自动点赞的技术实现

简要描述&#xff1a; 朋友圈点赞 请求URL&#xff1a; http://域名地址/snsPraise 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明wId…

摄像机终端IP地址白名单配置流程

海康摄像头配置白名单流程 1.登录海康摄像机前端 2.进入配置-系统-安全管理-IP地址过滤 3.IP地址过滤方式选择“允许” 4.点击添加按钮输入对应的IP地址或者IP网段 5.最后勾选启用IP地址过滤&#xff0c;然后保存 大华摄像头配置白名单流程 1.登录大华摄像机前端 2.进入设…

使用MethodInterceptor和ResponseBodyAdvice做分页处理

目录 一、需求 二、代码实现 父pom文件 pom文件 配置文件 手动注册SqlSessionFactory&#xff08;MyBatisConfig &#xff09; 对象 实体类Users 抽象类AbstractQuery 查询参数类UsersQuery 三层架构 UsersController UsersServiceImpl UsersMapper UsersMapper.…

苹果电脑图像元数据编辑器:MetaImage for Mac

MetaImage for Mac是一款功能强大的照片元数据编辑器&#xff0c;它可以帮助用户编辑并管理照片的元数据信息&#xff0c;包括基本信息和扩展信息。用户可以根据需要进行批量处理&#xff0c;方便快捷地管理大量照片。 MetaImage for Mac还提供了多种导入和导出格式&#xff0…

12v转5v降压模块

问&#xff1a;什么是12V转5V降压模块&#xff1f;它的功能是什么&#xff1f; 答&#xff1a;12V转5V降压模块是一种电子设备&#xff0c;用于将输入电压为12V的直流电转换为输出电压为5V的直流电。它的主要功能是为电子设备提供所需的适当电压&#xff0c;以便它们能够正常运…

mysql进阶篇(二)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

GCC编译过程:预处理->编译->汇编->链接

目录 引言 概括介绍 一、预处理 二、编译 三、汇编 四、链接 总结 引言 当使用集成开发环境&#xff08;IDE&#xff09;进行C语言编程时&#xff0c;点击"编译"按钮后&#xff0c;整个C程序从源代码到可执行文件的生成过程会自动完成。IDE会在后台为我们执行C…

QT QLCDNumber 使用详解

本文详细的介绍了QLCDNumber控件的各种操作&#xff0c;例如&#xff1a;新建界面、源文件、设置显示位数、设置进制、设置外观、设置小数点、设置溢出、显示事件、其它文章等等操作。 实际开发中&#xff0c;一个界面上可能包含十几个控件&#xff0c;手动调整它们的位置既费时…

Activity启动过程详解(Android 12源码分析)

Activity的启动方式 启动一个Activity&#xff0c;通常有两种情况&#xff0c;一种是在应用内部启动Activity&#xff0c;另一种是Launcher启动 1、应用内启动 通过startActivity来启动Activity 启动流程&#xff1a; 一、Activity启动的发起 二、Activity的管理——ATMS 三、…