Docker 安裝配置
下載安裝
官網(wǎng)鏡像可能由于網(wǎng)絡(luò)的原因下載緩慢,點(diǎn)擊這個(gè)連接參考阿里云鏡像加速
- 點(diǎn)擊:Download from Docker Store
- 下拉頁面——選擇版本
- Stable 季度版本
-
Edge 月版本
-
點(diǎn)擊如下頁面下載
- 下載安裝注冊登錄完畢后殴俱,進(jìn)入簡單使用
使用
通常是在 終端
里,輸入以下命令贫导,檢測 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
這里是為了將本機(jī)的80端口映射到 docker
里的80端口滞时,容器名為 webserver
然后訪問 http://localhost
,就看到配好的 nginx
钞馁。
- 關(guān)閉容器
關(guān)閉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";
關(guān)閉時(shí)輸入前幾位id號(hào)即可
docker stop 96d0
- 刪除容器
docker rm -f webserver
安裝Kitematic
docker GUI工具,圖形界面化管理Docker容器
-
點(diǎn)擊安裝Kitematic
-
登錄(docker的用戶名和密碼)
Mysql+sonarqube配置準(zhǔn)備
參見sonarqube鏡像說明 最新版本是7.9已不再支持mysql僧凰,如果需要安裝7.9以上版本的sonarqube就不能再搭配mysql使用
Mysql安裝配置參見鏈接
創(chuàng)建sonar數(shù)據(jù)庫和sonar用戶
- 登錄mysql(已登錄就忽略)
mysql -u root -p
- 創(chuàng)建sonar數(shù)據(jù)庫
create database sonar;
CREATE USER 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL PRIVILEGES ON *.* TO 'sonar'@'%';
安裝postgres
docker pull postgres
啟動(dòng)postgres
docker run --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres
Sonarqube安裝配置
docker pull sonarqube
- 在宿主機(jī)上新建目錄sonarqube:conf,data,logs,extensions
mkdir /software/sonarqube/conf
mkdir /software/sonarqube/data
mkdir /software/sonarqube/logs
mkdir /software/sonarqube/extensions
- 運(yùn)行容器(綁定安裝配置)
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
參數(shù)解釋:
-d: 后臺(tái)運(yùn)行容器,并返回容器ID熟丸;
-p: 端口映射训措,格式為:主機(jī)(宿主)端口:容器端口。-p 9002:9000是將容器9000端口映射為9002,因?yàn)樗拗?000端口已經(jīng)被占用
--name=sonarqube: 為容器指定一個(gè)名稱绩鸣;
-e設(shè)置環(huán)境變量怀大,此變量會(huì)傳遞到COMMAND中
Sonarquebe使用
1、在瀏覽器中輸入
http://localhost:9000
賬號(hào):admin密碼:admin
2.安裝中文漢化包
Administration -> Marketplace 呀闻,搜索 chinese 化借, install Chinese Pack,然后重啟
3.添加項(xiàng)目
-
maven
- gradle
1.方法1
創(chuàng)建新項(xiàng)目
創(chuàng)建令牌捡多,添加配置文件
問題點(diǎn):
1.gradlew 命令可能沒有配置蓖康,使用gradle wrapper
2.執(zhí)行編譯命令后可能會(huì)報(bào)下面的類似錯(cuò)誤,包下載失敗局服,使用下面的方法2钓瞭,導(dǎo)入項(xiàng)目即可
> 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) 執(zhí)行命令:
gradle wrapper clean test sonar
(3) 導(dǎo)入項(xiàng)目。