使用docker快速部署常用研发工具或程序

本文介绍如何使用Docker快速部署MySQL、Jenkins、GitLab、Redis、Elasticsearch等常用研发工具及程序。通过具体命令示例,指导读者完成环境搭建,并解决一些常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建mysql

docker run -p 3306:3306 --name mysql \
-v /home/mysql/conf:/etc/mysql/mysql.conf.d \
-v /home/mysql/log:/var/log/ \
-v /home/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=2022qwer \
-d mysql:8.0

而后再执行升级:
docker update --restart=always  mysql

2.创建jenkins (需要-u 0 启动root账户)

docker run -d -p 8190:8080 -p 8191:50000 -v /extdata/jenkins_home:/var/jenkins_home --name jenkins -u 0 jenkins/jenkins:2.387.2-lts

3.创建gitlab

4.创建redis

docker run -p 6379:6379 --name my_redis -v /Users/lensonyuan/Documents/DockerShare/redis/data:/data -v /Users/lensonyuan/Documents/DockerShare/redis/conf/:/etc/redis/ -d redis redis-server /etc/redis/redis.conf 

配置文件redis.conf如下,放到你的conf映射目录下:
在这里插入图片描述
5. 创建elasticsearch-head

docker run -d --name es-head -p 9100:9100 mobz/elasticsearch-head:5-alpine
  1. 创建elasticsearch
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300   -e ES_JAVA_OPTS="-Xms2g -Xmx2g" elasticsearch:8.14.0
* 配置文件拷贝出来:docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml  /data/extdocker/es8
  • 修改配置项
# 设置网络主机为所有接口
network.host: 0.0.0.0

# 设置 HTTP 端口
http.port: 9200

# 如果需要,配置 CORS
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Type,Content-Length
http.cors.allow-credentials: true
* 拷贝回去覆盖,docker cp /data/extdocker/es8/elasticsearch.yml elasticsearch:/usr/share/elasticsearch/config/
* 重启容器 docker restart elasticsearch

若启动后提示max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144],则linux修改如下

#查看配置
sysctl -a|grep vm.max_map_count
# 修改
vim /etc/sysctl.conf
#添加参数
...
vm.max_map_count = 262144

重新加载/etc/sysctl.conf配置
sysctl -p

修改密码是进入容器内对应bin,执行./elasticsearch-setup-passwords interactive
验证是否安装成功,需要注意已经开启了xpack.security.http.ssl.enabled: true,以为着只接受https,测试时需注意。另外es-head,访问方式为http://ip:9100//?auth_user=账号&auth_password=密码,在里面在连接https://ip2:9200

  1. 创建nginx并把配置文件项目文件挂载到宿主机
    a. 先创建个临时的nginx的docker,从里面cp配置文件到宿主机目录
    # 创建临时的nginx
    docker run --name nginxtemp -d nginx
    # 拷贝配置文件出来
    docker cp nginxtemp:/etc/nginx/nginx.conf /data/extdocker/nginx/nginx.conf
    docker cp nginxtemp:/var/log/nginx /data/extdocker/nginx/logs
    docker cp nginxtemp:/usr/share/nginx/html /data/extdocker/nginx/html
    docker cp nginxtemp:/etc/nginx/conf.d  /data/extdocker/nginx/conf.d
    # 删除容器
    docker rm nginxtemp
    
    b. 接下来就运行我们需要的容器吧,后面改配置即可。
docker run --name nginx8010 -p 8010:80 -p 4431:443 \
-v /data/extdocker/nginx/upload:/home/upload \
-v /data/extdocker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /data/extdocker/nginx/logs:/var/log/nginx \
-v /data/extdocker/nginx/html:/usr/share/nginx/html \
-v /data/extdocker/nginx/conf.d:/etc/nginx/conf.d \
-e TZ=Asia/Shanghai \
-d nginx
  1. 创建postgresSQL,默认账户为postgres
docker run --name mypostgres \
  -p 5432:5432 \
  -v /data/extdocker/postgres:/var/lib/postgresql/data \
  -e POSTGRES_PASSWORD=2024cvat \
  -e POSTGRES_DB=cvat \
  -d postgres:12.3
  1. 创建Minio,默认账户为minioadmin
docker run -d \
  --name minio23 \
  -p 9000:9000 \
  -p 9001:9001 \
  -e "MINIO_ROOT_USER=minioadmin" \
  -e "MINIO_ROOT_PASSWORD=jkun@985*minio" \
  -v /data/extdocker/minio/data:/data \
  quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z \
  server --console-address ":9001" /data
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LensonYuan

蚊子腿也是肉!感谢!

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

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

打赏作者

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

抵扣说明:

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

余额充值