docker啓動jenkins和nexus3持續集成(未完)

1 倉庫

是一個集中存儲分發鏡像的服務,一個docker registry包含多個Repository,每個repository包含多個tag,每隔tag對應一個鏡像

2 鏡像

可以分成構建鏡像,分層可以複用,拉取的時候就用重複拉取了

3 構建鏡像

docker build -t nginx:v2 .
寫一個簡單的Dockerfile

FROM ngix
RUN echo 'Hello World! ' > /usr/share/nginx/html/index.html
COPY ./a.html  /usr/share/nginx/html/

docker build -t nginx:v2 .

3.1 ADD 和 COPY

更適合解壓添加,大批量文件操作,COPY推薦使用

4 java項目打包成鏡像

	FROM java:8
	COPY ./test.jar app.jar //到根(/)目錄
    ENTRYPOINT ["java","-jar","/app.jar"]
	EXPOSE 8080

5 docker 查看容器日誌

docker logs -f tail --100 containerId

6 docker CMD命令

如果容器沒有至指定CMD 默認是/bin/bash,那麼容器啓動就會停止,起不來

兩種命令格式:
- exec shell格式
- ENTRYPOINT 格式

docker ps -l --no-trunc
查看全描述

7 ENV 命令

ENV NAME=zhangsan AGE=30

8 ARG命令

可以在構建鏡像的時候把參數覆蓋掉,但是不能在啓動的容器裏使用變量

9 docker的文件存儲 VOLUME指令

VOLUMN["/data","/tmp"] //指定匿名卷目錄,防止文件丟失
docker inspect containerId 獲取容器信息
docker run -d /data/data-tmp:/data -v /data/ss:/tmp test:tag

10 Nexus3 私服

docker run  -p 8081:8081 -p 5000:5000 --restart=always  -v /data/nexus-data:/nexus-data --name nexus3-v3 -d --restart=always  640570fd0ff5

docker 拉取鏡像

docker pull 0.0.0.0:5000/xiebing-docker:v1

11 持續集成/持續部署/持續交付

11.1 安裝jekins

docker run --restart=always -d -u root   \
-v /data/maven_home/apache-maven-3.6.3:/var/maven_home \
-v /data/jenkins_home:/var/jenkins_home \
-v /data/maven_home/repo:/var/maven_home/repo \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \
-p 50000:50000 \
-p 8082:8080 \
--name jenkins-v6 \
 jenkins/jenkins

# 對安裝插件的配置
<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/stable-2.7/update-center.json</url>
  </site>
</sites>
# 對於下載插件
# 找到updates目錄,對於default.json執行如下操作
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章