使用Docker搭建开发环境,包括(nginx,redis,mysql,gitlab,nexus3,activemq,jenkins)

本文详细记录了使用Docker搭建包括nginx、redis、mysql、gitlab、nexus3、activemq、jenkins、mongodb、oracle和ftpserver在内的多种开发环境的过程,通过执行一系列命令实现快速部署。

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

使用Docker搭建开发环境

自从玩了Docker,深深的被Docker迷住,做了这么多年软件,都没想到软件会发展到这种阶段,使用容器隔离技术,将各个服务进程隔离。

记录一下自己为新成立的部门使用Docker搭建开发环境的过程,这里只是简粗暴的记录下执行命令,方便以后review,等有时间了,再详细介绍。

nginx

mkdir -p /apps/nginx/www /apps/nginx/logs /apps/nginx/conf
docker pull nginx
docker run -p 80:80 --name nginx -v /apps/nginx/www:/www -v /apps/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /apps/nginx/logs:/etc/nginx/logs -d nginx

redis

mkdir -p /apps/redis/data
#写入redis默认配置
vim /apps/redis/redis.conf

docker pull redis
docker run -p 6379:6379 -v /apps/redis/data:/data -v /apps/redis/redis.conf:/etc/redis.conf -d --name redis redis redis-server /etc/redis.conf
docker exec -it redis redis-cli

mysql

 mkdir -p /apps/mysql/data /apps/mysql/logs /apps/mysql/conf
 docker pull mysql:5.7
 docker run -p 3306:3306 --name mysql -v /apps/mysql/conf:/etc/mysql/conf.d -v /apps/mysql/logs:/logs -v /apps/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

 docker exec -it mysql mysql -u root -p123456
 grant all privileges on *.* to root@'%' identified by '123456';
 flush privileges;

gitlab

mkdir -p /apps/gitlab/config /apps/gitlab/logs /apps/gitlab/data
docker pull gitlab/gitlab-ce
docker run -d -h gitlab -p 9001:443 -p 80:80  -p 9002:22 --name gitlab --restart always \
-v /apps/gitlab/config:/etc/gitlab \
-v /apps/gitlab/logs:/var/log/gitlab \
-v /apps/gitlab/data:/var/opt/gitlab \
docker.io/gitlab/gitlab-ce

打开 http://127.0.0.1

nexus3

mkdir -p /apps/nexus
chown 200 /apps/nexus
docker pull sonatype/nexus3
docker run -d -p 9004:8081 --name nexus --privileged -v /apps/nexus:/nexus-data sonatype/nexus3

默认密码:admin/admin123
打开 http://127.0.0.1:9004

activemq

mkdir -p /apps/activemq/data /apps/activemq/logs /apps/activemq/conf 
docker pull webcenter/activemq
docker run --name='activemq' -d \
    -e 'ACTIVEMQ_CONFIG_DEFAULTACCOUNT=false' \
    -e 'ACTIVEMQ_ADMIN_LOGIN=admin' -e 'ACTIVEMQ_ADMIN_PASSWORD=admin123' \
    -e 'ACTIVEMQ_CONFIG_MINMEMORY=512' -e  'ACTIVEMQ_CONFIG_MAXMEMORY=1536' \
    -v /apps/activemq/data:/data \
    -v /apps/activemq/logs:/var/log/activemq \
    -p 9005:8161 \
    -p 9006:61616 \
    -p 9007:61613 \
    webcenter/activemq

打开 http://127.0.0.1:9005

jenkins

mkdir -p /apps/jenkins
docker pull jenkins/jenkins:lts
docker run -p 9010:8080 -p 9011:50000 -v /apps/jenkins:/var/jenkins_home --name jenkins -d -u root -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai jenkins/jenkins:lts

#调整时区
docker exec -it jenkins /bin/bash
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    echo 'Asia/Shanghai'>/etc/timezone
    exit

docker restart jenkins

打开 http://127.0.0.1:9010

mongodb

mkdir -p /apps/mongodb/data /apps/mongodb/backup
docker pull mongo
docker run --name mongodb -p 30017:27017 -v /apps/mongodb/data:/data/db -v /apps/mongodb/backup:/data/backup -d mongo --auth

docker exec -it mongo mongo admin
    db.createUser({ user: 'admin', pwd: '123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
    db.auth("admin","123456");

docker exec mongo sh -c 'exec var=`date +%Y%m%d%H%M` && mongodump -h localhost --port 27017 -u jsmith -p password -d dbname -o /data/backup/$var_test1.dat'

oracle

注意将selinux关掉,不然实例启动失败
修改/etc/selinux/config文件,设置为disable

SELINUX=disable

docker pull wnameless/oracle-xe-11g:18.04
docker run --name oracle -d -p 9012:8080 -p 9013:1521 -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g:18.04

Login http://localhost:8080/apex/apex_admin with following credential:

username: ADMIN
password: admin

实例信息

hostname: localhost
port: 9013
sid: xe
username: system/sys
password: oracle

ftpserver

mkdir -p /apps/ftpserver/files /apps/ftpserver/passwd
chmod u+x /apps/ftpserver/files

docker run -d --name ftpserver \
--privileged=true \
-p 9014:21 -p 30000-30009:30000-30009 \
-v /apps/ftpserver/files:/home/bob \
-v /apps/ftpserver/passwd:/etc/pure-ftpd/passwd \
-e PUBLICHOST=xxx.xxx.xxx.xxx \
-e FTP_USER_NAME=ftpuser \
-e FTP_USER_PASS=your_pwd \
stilliard/pure-ftpd:hardened

PUBLICHOST配置为FTP Server的外网访问IP

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值