Docker启动服务汇总

Docker启动服务

1.镜像仓库搭建

docker pull registry:2 docker run -d -p 5000:5000 --restart=always --name registry registry:2

2.gitlab服务搭建

docker run --detach \ --hostname gitlab.example.com \ --publish 10443:443 --publish 10080:80 --publish 10022:22 \ --name gitlab \ --restart always \ --volume ~/gitlab/config:/etc/gitlab \ --volume ~/gitlab/logs:/var/log/gitlab \ --volume ~/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest

3.监控系统搭建

  • prometheus+grafana node-exporter容器启动 docker run -d -p 9100:9100 \ -v "/proc:/host/proc:ro" \ -v "/sys:/host/sys:ro" \ -v "/:/rootfs:ro" \ --net="host" \ prom/node-exporter

    mysql-exporter容器启动 docker run -d --name mysql-exporter -p 9104:9104 -e DATA_SOURCE_NAME="root:1qaz9ol.@(ip:8888)/mysql" prom/mysqld-exporter

    prometheus容器启动 docker run -d --name prometheus \ -p 9090:9090 \ -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus

    grafana容器启动 docker run -d \ -p 3000:3000 \ --name=grafana \ -v /opt/grafana-storage:/var/lib/grafana \ grafana/grafana

    • Docker启动ELK docker pull sebp/elk 拉取镜像 docker run --name elk -d -e LOGSTASH_START=0 -p 5601:5601 -p 9200:9200 -p 5044:5044 -d registry.docker-cn.com/sebp/elk 启动服务

4.数据库服务启动

-  mysql启动
  `docker pull mysql:5.7 docker run -p 3306:3306 --name mysql \
   -v/usr/local/mysql/log:/var/log/mysql  \
   -v/usr/local/mysql/data:/var/lib/mysql  \
   -v /usr/local/mysql/conf:/etc/mysql  \
   -e MYSQL_ROOT_PASSWORD=root  -d mysql:5.7`
  `#创建⼀个reader帐号并修改权限,使得任何ip都能访问: grant all privileges on *.* to 'reader' @'%' identified by '123456';`

-  mongodb的启动
  `docker pull mongo:3.2 docker run -p 27017:27017 --name mongo  -v /usr/local/mongodb/db:/data/db  -d mongo:3.2`

-  redis
  `docker pull redis:3.2 docker run -p 6379:6379 --name redis  -v /usr/local/redis/data:/data  -d redis:3.2 redis-server --appendonly yes
  docker exec -it redis redis-cli`

5.基础服务启动

-  nginx容器启动
  `docker pull nginx:1.10 docker run -p 80:80 --name nginx \
   -v /usr/local/nginx/html:/usr/share/nginx/html \
   -v /usr/local/nginx/logs:/var/log/nginx  -d nginx:1.10`

-  mq的启动
  `docker pull rabbitmq:3.7.15 docker run -d --name rabbitmq \
   --publish 5671:5671 --publish 5672:5672 --publish 4369:4369 \
   --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 \
   rabbitmq:3.7.15`
   进⼊容器并开启管理功能
   `docker exec -it rabbitmq /bin/bash rabbitmq-plugins enable rabbitmq_management`

6.测试工具的搭建

- testlink的搭建
  启动mariadb数据库
 `docker run -d --name mariadb -e ALLOW_EMPTY_PASSWORD=yes -e MARIADB_USER=bn_testlink -e
MARIADB_DATABASE=bitnami_testlink -v /home/gongxc/test/mysql:/var/lib/mysql -p 3306:3306
bitnami/mariadb:latest`
  启动testlink
 `docker run -d --name testlink -p 80:80 -p 443:443 -e ALLOW_EMPTY_PASSWORD=yes -e
TESTLINK_DATABASE_USER=bn_testlink -e TESTLINK_DATABASE_NAME=bitnami_testlink --link mariadb
bitnami/testlink:latest`    

- sonarqube的搭建
  postgres
 `docker run -d \
 --name sonarqube_postgres \
 -e POSTGRES_USER=sonarqube \
 -e POSTGRES_PASSWORD=sonarqube \
 -e PGDATA=/var/lib/postgresql/data/pgdata \
 -v $PWD/postgresql:/var/lib/postgresql/data \
 postgres`
  `mkdir sonarqube_data sonarqube_extensions sonarqube_logs
  chown -R 999:999 sonarqube_data sonarqube_extensions sonarqube_logs`
  sonarqube
 `docker run -d  --name sonar -p 9000:9000 -p 9092:9092 --link sonarqube_postgres:db \
 -e SONARQUBE_JDBC_USERNAME=sonarqube -e SONARQUBE_JDBC_PASSWORD=sonarqube \
 -e SONARQUBE_JDBC_URL="jdbc:postgresql://db/sonarqube" \
 -v $PWD/sonarqube_data:/opt/sonarqube/data \
 -v $PWD/sonarqube_extensions:/opt/sonarqube/extensions \
 -v $PWD/sonarqube_logs:/opt/sonarqube/logs \
 sonarqube`

 - Docker启动STF
   拉取镜像
   `docker pull openstf/stf:latest `  
   `docker pull sorccu/adb:latest`
   `docker pull rethinkdb:latest`
   `docker pull openstf/ambassador:latest`
   `docker pull nginx:latest`
    启动rethink数据库
   `docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090`
    启动adb
   `docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest`
    启动stf(允许远程)
   `docker run -d --name stf --net host openstf/stf stf local --public-ip yourip --allow-remote`

- selenium自动化测试的搭建
  启动hub
  `docker run --name=hub -p 4444:4444 -e GRID_TIMEOUT=0 -e GRID_THROW_ON_CAPABILITY_NOT_PRESENT=true \
   -e GRID_NEW_SESSION_WAIT_TIMEOUT=-1 -e GRID_BROWSER_TIMEOUT=15000 -e GRID_TIMEOUT=30000           \
   -e GRID_CLEAN_UP_CYCLE=30000 -d selenium/hub:3.7.1-beryllium`
  启动浏览器
  `docker run --name=chrome -p 5900:5900 -e NODE_MAX_INSTANCES=6 -e NODE_MAX_SESSION=6 \
  -e NODE_REGISTER_CYCLE=5000 -e DBUS_SESSION_BUS_ADDRESS=/dev/null -v /dev/shm:/dev/shm \
  --link hub -d selenium/node-chrome-debug:3.7.1-beryllium`
Written on January 6, 2020