1、mysql
# 1.拉取mysql镜像到本地docker pull mysql:tag- tag不加默认最新版本# 2.运行mysql服务(基础版)docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 --restart=always -d mysql:tag- 暴露外部端口外部能连接(前提是防火墙开放暴露的端口并且端口不能冲突)# 3.mysql容器启动配置(完整版)docker run --name mysql --network networkname -v /mydata:/var/lib/mysql -v /my.cnf:/etc/my.cnf -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 --restart=always -d mysql:tag配置项说明:- 自定义容器名称:--name mysql- 定义网络:--network networkname- 挂载数据(宿主机:容器):-v /mydata:/var/lib/mysql- 挂载mysql配置文件(宿主机:容器):-v /my.cnf:/etc/my.cnf- 设置root账号的密码:-e MYSQL_ROOT_PASSWORD=root- 暴露端口(宿主机:容器):-p 3306:3306- 设置mysql容器随docker启动而启动:--restart=always- 后台运行:-d# 4.执行sql文件到mysql中docker exec -i mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /root/xxx.sql# 5.通过其他客户端访问 如在window系统|macos系统使用客户端工具访问可以实现数据的备份(客户端工具方式)
2、Redis
# 1.拉取redis镜像到本地docker pull redis:tag# 2.运行redis服务(基础版)docker run --name redis -p 6379:6379 --restart=always -d mysql:tag# 3.redis容器启动配置(完整版)docker run --name redis --network networkname -p 6379:6379 -v /redis.conf:/usr/local/etc/redis/redis.conf -v /mydata:/data --restart=always -d redis:tag redis-server /usr/local/etc/redis/redis.conf配置项说明:- 挂载配置文件:-v /redis.conf:/usr/local/etc/redis/redis.conf- 挂载数据实现持久化:-v /mydata:/data- 指定redis在docker中的配置文件路径:redis-server /usr/local/etc/redis/redis.conf# 4.挂载配置文件- 创建配置文件touch redis.conf- 修改配置文件vim redis.conf- 添加如下配置bind 0.0.0.0 ---------- 开启远程访问appendonly yes --------- 开启持久化appendfilename "appendonly.aof" ---------- 持久化文件名称requirepass 123456 ---------- 设置密码
3、Nginx
# 1.拉取nginx镜像到本地docker pull nginx:tag# 2.运行nginx容器(基础版)docker run --name nginx -p 80:80 --restart=always -d nginx:tag# 3.nginx容器启动配置(完整版)docker run --name nginx --network networkname -v /nginx.conf:/etc/nginx/nginx.conf -v /myhtml:/usr/share/nginx/html -p 80:80 --restart=always -d nginx:tag配置项说明:- 挂载配置文件:-v /nginx.conf:/etc/nginx/nginx.conf- 挂载部署包:-v /myhtml:/usr/share/nginx/html
4、Tomcat
# 1.拉取tomcat镜像到本地docker pull tomcat:tag# 2.运行tomcat容器(基础版)docker run --name mytomcat -p 8080:8080 --restart=always -d tomcat:tag# 3.tomcat容器启动配置(完整版)docker run --name mytomcat --network networkname -v /myserver.xml:/usr/local/tomcat/conf/server.xml -v /mywebapps:/usr/local/tomcat/webapps -p 8080:8080 --restart=always -d tomcat:tag配置项说明:- 挂载配置文件:-v /myserver.xml:/usr/local/tomcat/conf/server.xml- 挂载部署包:-v /mywebapps:/usr/local/tomcat/webapps#注意:还有就是这里选用tomcat的8.0-jre8镜像而不是单独的版本号8.0,因为没有单独的下载jdk镜像,如果要是用8.0需采用dockerfile进行打包,我是直接下载了包含jre的tomcat,这样就可以运行项目了(前后端不分离的web项目)。
5、ElasticSearch
# 1.拉取elasticsearch镜像到本地
docker pull elasticsearch:tag
# 2.运行elasticsearch容器(基础版)
docker run --name es -p 9200:9200 -p 9300:9300 -e discovery.type=single-node -e ES_JAVA_OPTS="-Xms128m -Xmx128m" --restart=always -d elasticsearch:tag
# 3.elesticsearch容器启动配置(完整版)
docker run --name es --network networkname -p 9200:9200 -p 9300:9300 -e discovery.type=single-node -e ES_JAVA_OPTS="-Xms128m -Xmx128m" -e xpack.security.enabled=true -e ELASTIC_PASSWORD=your_password -v /myplugins:/usr/share/elasticsearch/plugins -v /mydata:/usr/share/elasticsearch/data --restart=always -d elasticsearch:tag
配置项说明:
- 端口映射:9200端口:Elasticsearch 的 HTTP 端口,用于处理 RESTful API 请求;9300端口:用于 Elasticsearch 节点之间的通信。
- 单节点模式(适合开发和测试环境):-e discovery.type=single-node
- jvm堆内存调整(128m:128MB,4g:4GB):-e ES_JAVA_OPTS="-Xms128m -Xmx128m"
- 开启X-Pack安全功能:-e xpack.security.enabled=true
- 默认超级用户(elastic 用户)的密码:-e ELASTIC_PASSWORD=your_password
- 插件挂载:-v /myplugins:/usr/share/elasticsearch/plugins
- 数据挂载:-v /mydata:/usr/share/elasticsearch/data
#注意:调高JVM线程数限制数量
#注意:为elasticsearch默认用户设置宿主机的插件和数据挂载目录读写权限,elasticsearch在启动时默认创建一个名为 elasticsearch 的用户,并为该用户分配默认的 UID和GID为1000;执行如下命令
chown -R 1000:1000 /myplugins /mydata
#插件安装
# IK分词器安装
# 下载对应版本的IK分词器
# 解压到plugins文件夹中
unzip elasticsearch-analysis-ik-6.4.2.zip -d /myplugins/ik
6、Kibana
# 1.拉取kibana镜像到本地docker pull kibana:tag注意:kibana版本要与elasticsearch严格一致# 2.kibana容器启动配置(基础版)docker run --name kibana --network networkname -e ELASTICSEARCH_URL=http://10.15.x.x:9200 -e ELASTICSEARCH_PASSWORD=your_password -p 5601:5601 --restart=always -d kibana:tag# 3.kibana容器启动配置(完整版)docker run --name kibana --network networkname -p 5601:5601 -v /kibana.yml:/usr/share/kibana/config/kibana.yml --restart=always -d kibana:tag# 4.kibana.yml配置信息
# 连接到 Elasticsearch(可以使用服务名代替IP)elasticsearch.hosts: ["http://elasticsearch:9200"]# 设置 Kibana 服务器server.host: "0.0.0.0"#端口server.port: 5601#设置关闭时的超时时间server.shutdownTimeout: "5s"# 启用安全功能xpack.security.enabled: trueelasticsearch.username: "elastic"elasticsearch.password: "your_password"# 启用监控,Kibana 会显示有关 Elasticsearch 集群健康状态、节点信息、索引统计等的监控数据monitoring.ui.container.elasticsearch.enabled: true
7、FastDFS
# 1.拉取fastdfs镜像到本地docker pull delron/fastdfs:tag# 2.tracker容器启动配置(完整版)docker run --name tracker -p 8080:8080 -p 22122:22122 -p 23000:23000 --network=networkname -v /mytracker:/var/fdfs --restart=always -d delron/fastdfs:tag tracker配置项说明:- 端口映射:8080端口:tracker的http访问端口;22122端口:tracker默认监听端口;23000端口:storage端口。- 数据挂载:-v /mytracker:/var/fdfs# 3.storage容器启动配置(完整版)docker run --name storage -p 8888:8888 --network=networkname -v /mystorage:/var/fdfs -e TRACKER_SERVER=10.15.x.x:22122 -e GROUP_NAME=groupname --restart=always -d delron/fastdfs:tag storage配置项说明:- 端口映射:8888端口需要跟nginx监听端口保持一致。- 挂载数据:-v /mystorage:/var/fdfs- 关联tracker:-e TRACKER_SERVER=10.15.x.x:22122- 分组:-e GROUP_NAME=groupname
8、portainer
# 1.拉取portainer镜像到本地docker pull portainer/portainer:tag# 2.portainer容器启动配置(基础版)docker run --name portainer -p 8000:8000 -p 9000:9000 --restart=always -d portainer/portainer:tag# 3.portainer容器启动配置(完整版)docker run --name portainer -p 8000:8000 -p 9000:9000 --network=networkname -v /var/run/docker.sock:/var/run/docker.sock -v /mydata:/data --restart=always -d portainer/portainer:tag配置项说明:- 端口映射:8000端口:是 Portainer Agent 的端口,用于管理多个 Docker 环境;9000:是 Portainer Web UI 的默认端口,访问 http://localhost:9000。- 将docker的管理接口(docker.sock文件)挂载到中(固定宿主机地址):-v /var/run/docker.sock:/var/run/docker.sock- 数据挂载:-v /mydata:/data#注意:忘记admin的密码,重置密码,步骤如下:#查看容器详细信息docker inspect portainer#复制如下目录地址

#执行如下命令:docker run --rm -v 挂在目录地址:/data portainer /helper-reset-passworddocker run --rm -v /var/lib/docker/volumes/436d93252d9a382768eab7e9b7a29b8a10cbbf990257e37c9171eedc8df21c2e/_data:/data portainer/helper-reset-password#然后重新启动portainerdocker start portainer

9、minio
# 1.拉取minio镜像到本地docker pull minio/minio:tag# 2.minio容器启动配置(基础版)docker run --name minio --restart=always -p 9000:9000 -p 9001:9001 -e MINIO_ROOT_USER=username -e MINIO_ROOT_PASSWORD=password -d minio/minio:tag server /data --console-address ":9001"# 3.minio容器启动配置(完整版)docker run --name minio --restart=always -p 9000:9000 -p 9001:9001 -e MINIO_ROOT_USER=username -e MINIO_ROOT_PASSWORD=password -v /minio:/data -d minio/minio:tag server /data --console-address ":9001"配置项说明:- 端口映射:9000:对象存储API端口,9001:web控制台管理页面访问端口。- 账号/密码:-e MINIO_ROOT_USER=username -e MINIO_ROOT_PASSWORD=password- 数据挂载:-v /minio:/data- 启动时指定对象存储路径:server /data- 管理控制台监听端口:--console-address ":9001"