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
启动服务
- Docker启动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`