记录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
查看data目录下的aof文件:
扩展:
# 删除所有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还提供了一些新的功能和改进,以提供更好的性能、安全性和可扩展性。
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
4、使用可视化工具连接mariadb:
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
目录中。
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
管理页面访问地址: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啦。
② 选择管理本地docker环境
③ 进入docker管理面板:
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 后台运行。