Docker 安装配置
下载安装
官网镜像可能由于网络的原因下载缓慢,点击这个连接参考阿里云镜像加速
Docker官网
- 点击:Download from Docker Store
- 下拉页面——选择版本
- Stable 季度版本
-
Edge 月版本
-
点击如下页面下载
- 下载安装注册登录完毕后,进入简单使用
使用
通常是在 终端
里,输入以下命令,检测 docker
安装情况:
> docker --version
Docker version 19.03.2, build 6a30dfc
> docker-compose --version
docker-compose version 1.24.1, build 4667896b
> docker-machine --version
或者输入
> docker version
Client: Docker Engine - Community
Version: 19.03.2
API version: 1.40
Go version: go1.12.8
Git commit: 6a30dfc
Built: Thu Aug 29 05:26:49 2019
OS/Arch: darwin/amd64
Experimental: false
........
> docker info
Client:
Debug Mode: false
.......
- 开启容器
输入以下命令:
docker run -d -p 80:80 --name webserver nginx
这里是为了将本机的80端口映射到 docker
里的80端口,容器名为 webserver
然后访问 http://localhost
,就看到配好的 nginx
。
- 关闭容器
关闭Docker,需要知道 容器的id
,使用 docker ps -a
或者 docker images
命令
> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
696cd082a736 nginx "nginx -g 'daemon of…" 54 minutes ago Exited (255) 27 minutes ago 0.0.0.0:80->80/tcp webserver
> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 cd3ed0dfff7e 22 hours ago 437MB
nginx latest 5a9061639d0a 22 hours ago 126MB
dockerId:"696cd082a736";
关闭时输入前几位id号即可
docker stop 96d0
- 删除容器
docker rm -f webserver
安装Kitematic
docker GUI工具,图形界面化管理Docker容器
-
点击安装Kitematic
-
登录(docker的用户名和密码)
Mysql+sonarqube配置准备
参见sonarqube镜像说明 最新版本是7.9已不再支持mysql,如果需要安装7.9以上版本的sonarqube就不能再搭配mysql使用
Mysql安装配置参见链接
创建sonar数据库和sonar用户
- 登录mysql(已登录就忽略)
mysql -u root -p
- 创建sonar数据库
create database sonar;
CREATE USER 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL PRIVILEGES ON *.* TO 'sonar'@'%';
安装postgres
docker pull postgres
启动postgres
docker run --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres
Sonarqube安装配置
docker pull sonarqube
Sonarqube官网介绍
- 在宿主机上新建目录sonarqube:conf,data,logs,extensions
mkdir /software/sonarqube/conf
mkdir /software/sonarqube/data
mkdir /software/sonarqube/logs
mkdir /software/sonarqube/extensions
- 运行容器(绑定安装配置)
postgres
简单命令:
docker run --name sq --link db -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -p 9000:9000 -d sonarqube
绑定安装配置命令
docker run --name sonarqube -d \
-p 9002:9000 -p 9092:9092 \
-v /software/sonarqube/conf:/opt/sonarqube/conf \
-v /software/sonarqube/data:/opt/sonarqube/data \
-v /software/sonarqube/logs:/opt/sonarqube/logs \
-v /software/sonarqube/extensions:/opt/sonarqube/extensions \
sonarqube
ps:
mysql(绑定安装配置)
docker run --name sonarqube -d \
-p 9002:9000 -p 9092:9092 \
-e SONARQUBE_JDBC_USERNAME=sonar \
-e SONARQUBE_JDBC_PASSWORD="sonar" \
-e SONARQUBE_JDBC_URL="jdbc:mysql://localhost:3307/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false 1"
" \
-v /software/sonarqube/conf:/opt/sonarqube/conf \
-v /software/sonarqube/data:/opt/sonarqube/data \
-v /software/sonarqube/logs:/opt/sonarqube/logs \
-v /software/sonarqube/extensions:/opt/sonarqube/extensions \
sonarqube
参数解释:
-d: 后台运行容器,并返回容器ID;
-p: 端口映射,格式为:主机(宿主)端口:容器端口。-p 9002:9000是将容器9000端口映射为9002,因为宿主9000端口已经被占用
--name=sonarqube: 为容器指定一个名称;
-e设置环境变量,此变量会传递到COMMAND中
Sonarquebe使用
1、在浏览器中输入
http://localhost:9000
账号:admin密码:admin
2.安装中文汉化包
Administration -> Marketplace ,搜索 chinese , install Chinese Pack,然后重启
3.添加项目
-
maven
- gradle
1.方法1
创建新项目
创建令牌,添加配置文件
问题点:
1.gradlew 命令可能没有配置,使用gradle wrapper
2.执行编译命令后可能会报下面的类似错误,包下载失败,使用下面的方法2,导入项目即可
> Task :compileJava Errors occurred while build effective model from /Users/.gradle/caches/modules-2/files-2.1/com.alibaba/druid/1.0.31/d4ed19f55d238c8e3eac07b4a81e896c1dd8436d/druid-1.0.31.pom: 'dependencies.dependency.systemPath' for com.alibaba:jconsole:jar must specify an absolute path but is ${env.JAVA_HOME}/lib/jconsole.jar in com.alibaba:druid:1.0.31 'dependencies.dependency.systemPath' for com.alibaba:tools:jar must specify an absolute path but is ${env.JAVA_HOME}/lib/tools.jar in com.alibaba:druid:1.0.31 Errors occurred while build effective model from /Users/.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-impl/2.2.11/2d4b554997fd01d1a2233b1529b22fc9ecc0cf5c/jaxb-impl-2.2.11.pom:
2.方法2
(1) gradle配置文件加入:
plugins {
id "org.sonarqube" version "2.7"
}
sonarqube {
properties {
property "sonar.host.url", "http://localhost:9000"
property "sonar.login", "admin"
property "sonar.password", "admin"
}
}
(2) 执行命令:
gradle wrapper clean test sonar
(3) 导入项目。