Docker常用镜像安装使用

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分词器

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.2/elasticsearch-analysis-ik-6.4.2.zip

# 解压到plugins文件夹中

unzip elasticsearch-analysis-ik-6.4.2.zip -d /myplugins/ik

6、Kibana

介绍:搜索引擎可视化工具,配合elasticsearch使用
# 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: true
elasticsearch.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

介绍:docker可视化工具
# 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-password
docker run --rm -v /var/lib/docker/volumes/436d93252d9a382768eab7e9b7a29b8a10cbbf990257e37c9171eedc8df21c2e/_data:/data portainer/helper-reset-password
#然后重新启动portainer
docker 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"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新科日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值