這幾天,把公司的預發佈環境,改爲docker部署,遇到了一些坑,有jenkins裏的部署腳本的問題,也有harbor倉庫的問題,還有docker遠程訪問的問題,還有DooD....一堆坑
java
Jenkins裏,沒有直接安裝在Centos7上,是用的docker安裝的jenkinslinux
這個就簡單了,隨便均可以搜到,這裏只是貼我安裝的命令spring
# 卸載舊版本 sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine # 安裝 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加yum源 sudo yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo # 安裝 yum makecache fast yum -y install docker-ce 啓動 systemctl enable docker systemctl start docker
先這樣安裝,在用Jenkins打鏡像包的時候,就會有DooD的問題docker
docker run -d \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(which docker):/usr/bin/docker -p 8080:8080 \ jenkins
訪問:http://localhost:8080,安裝插件,設置管理員密碼shell
FROM openjdk:8-jdk-alpine VOLUME /tmp ADD admin-server-0.0.1-SNAPSHOT.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
admin-server-0.0.1-SNAPSHOT.jar
就是,maven打完包的包名centos
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <imageName>springboot/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>
imageName
打的鏡像名稱,這裏的鏡像名稱是:springboot/admin-serverdockerDirectory
指定docker文件夾的位置配置Git倉庫
springboot
而後再運行服務器
若是docker run jenkins 沒有指定app
-v /var/run/docker.sock:/var/run/docker.sock \ -v $(which docker):/usr/bin/docker
這裏就不能打包,就是由於在jenkins裏的容器中,沒有安裝對象,使用了-v ,就是把jenkins裏所須要的docker映射到宿主docker中運維
這裏只是在Centos7的一臺服務器裏,安裝了docker,運行了jenkins容器,在jenkins容器中,打包鏡像,而後再同一臺服務器中運行,使用生產中,並不會用這樣的方式,下一篇就寫使用harbor倉庫,安裝倉庫也是很簡單,只是在docker與docker,docker與倉庫之間的通訊須要https請求,遇到的問題
1.解決是DooD的問題:http://www.up4dev.com/2018/11/27/run-docker-by-jenkins-in-docker/
2.更多可訪問個人博客:https://yanganlin.com