常用三方组件的docker搭建

123 阅读3分钟

1、MongoDB

# 搭建mongo副本集单机
docker pull mongo:5.0.13
docker run -d -p 27017:27017 --name mongo -v /docker/share/:/docker/share mongo:5.0.13 --replSet rs0
    
# 之后进入mongo容器执行去初始化replSet
docker exec -it containerId mongo
rs.initiate()
# 创建账号
db.createUser({
  user: 'xxx',  
  pwd: 'xxx', 
  roles:[{
    role: 'root',  
    db: 'admin'  
  }]
})

2、Redis

docker pull redis:7.0.15
docker run -p 6379:6379 -d --name redis -v /docker/share:/docker/share redis:7.0.15 redis-server

3、MySql

docker pull mysql:8.0.36
docker run  -d  --name mysql --privileged=true -p 3306:3306 -v D:/Docker/mysql/data:/var/lib/mysql -v D:/Docker/mysql/config:/etc/mysql/conf.d  -v D:/Docker/mysql/logs:/logs -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai mysql:8.0.36 --lower_case_table_names=1

4、RabbitMQ

docker pull rabbitmq:3.12.13
docker run -d --name rabbitmq --hostname rabbit-host -p 15672:15672 -p 5672:5672 rabbitmq:3.12.13

5、Neo4j

docker pull neo4j:3.5.27
docker run -it -d -p 7474:7474 -p 7687:7687  --name neo4j -v /docker/share:/docker/share neo4j:3.5.27

6、InfluxDB

docker pull influxdb:1.8.6
docker run -d -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 --name influxdb -v /docker/share:/docker/share influxdb:1.8.6

7.Postgresql

docker pull postgres:12.5

docker run -d --name=postgresql -p 30032:5432 \ 
-v /opt/postgresql/data:/var/lib/postgresql/data \ 
-e POSTGRES_PASSWORD=xcPgsqlM3S04v \ 
--network comm-net --restart always \ 
postgres:12.5

8.SonarQube

# sonarqube
# sonar scanner 4.8.1
docker pull sonarqube:9.8.0-community

docker run -d --name sonarqube -p 30033:9000 -e SONAR_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar \ 
-e SONAR_JDBC_USERNAME=postgres \ -e SONAR_JDBC_PASSWORD=xcPgsqlM3S04v \ 
-v /opt/sonarqube/data:/opt/sonarqube/data \ 
-v /opt/sonarqube/extensions:/opt/sonarqube/extensions \
-v /opt/sonarqube/logs:/opt/sonarqube/logs \
--network comm-net --restart always \ sonarqube:9.8.0-community \ 
-Dsonar.es.bootstrap.checks.disable = true 
    
    
 
# 构建参数:
sonar.projectKey=xx
sonar.projectName=xx
sonar.projectVersion=1.0
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.sources= $WORKSPACE
sonar.java.binaries= $WORKSPACE

9.Jenkins

# jenkins
docker pull jenkins/jenkins:2.454-jdk11

docker run --name jenkins -u root -d \
-p 30034:8080 -p 30036:50000 \ 
-v /opt/jenkins/data:/var/jenkins_home \
-v /opt/jenkins/docker.sock:/var/run/docker.sock \
--network comm-net --restart always \
jenkins/jenkins:2.454-jdk11

10.GitLab

# gitlab
docker pull gitlab/gitlab-ce:15.11.13-ce.0
# 修改gitlab.rb文件可以配置外部数据库(pgsql,redis) 
# 刷新配置命令 gitlab-ctl reconfigure
docker run --detach \
--hostname 101.126.18.176 \
--publish 30035:80 \
--publish 30037:443 \
--publish 30038:22 \
--name gitlab \
-v /opt/gitlab/config:/etc/gitlab:Z \
-v /opt/gitlab/logs:/var/log/gitlab:Z \
-v /opt/gitlab/data:/var/opt/gitlab:Z \
--network comm-net --restart always \
--shm-size 256m \
gitlab/gitlab-ce:15.11.13-ce.0

# 重置root密码 官网链接 https://docs.gitlab.com/ee/security/reset_user_password.html
# 登录到gitlab容器内

gitlab-rake "gitlab:password:reset" 

11.GitLabRunner

# gitlab runner
docker pull gitlab/gitlab-runner:latest

docker run -d --name gitlab-runner-0 --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:v15.11.1

# 注册 runner
gitlab-runner register

12.禅道

# mysql 
docker run -d --name mysql-8.0.39 --privileged=true -p 3306:3306 -v D:/Docker/mysql-8.0.39/data:/var/lib/mysql -v D:/Docker/mysql-8.0.39/config:/etc/mysql/conf.d -v D:/Docker/mysql-8.0.39/logs:/logs -e MYSQL_ROOT_PASSWORD=123456 --network=comm-net -e TZ=Asia/Shanghai mysql:8.0.39 --lower_case_table_names=1 

# 禅道 
docker run -d --name zentao -it -v D:\Docker\zentao\data:/data -p 30039:80 --network=comm-net -e MYSQL_INTERNAL=false -e ZT_MYSQL_HOST=mysql-8.0.39 -e ZT_MYSQL_PORT=3306 -e ZT_MYSQL_USER=root -e ZT_MYSQL_PASSWORD=123456 -e ZT_MYSQL_DB=zentao hub.zentao.net/app/zentao:20.6

ZK

docker pull wurstmeister/zookeeper

docker run -d --name zookeeper -p 2181:2181 -e TZ="Asia/Shanghai" wurstmeister/zookeeper

Kafka

docker pull wurstmeister/kafka

docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.2.14:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.2.14:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e TZ="Asia/Shanghai" wurstmeister/kafka