linux+ ubuntu debian11 因为使用docker pull 的jenkins没有node环境,所以根据下载的jenkins镜像在制作镜像将node环境打进去。
提示:以下是本篇文章正文内容,下面案例可供参考

一、下载node包

node官网 | 下载
在这里插入图片描述下载好之后放在目录里,根我们自己创建的dockerfile 同级目录

二、制作docker镜像

# 使用命令解压xz包
xz -d node-v16.16.0-linux-x64.tar.xz

root@zhzx:/zhzx/jenkins# xz -d node-v16.16.0-linux-x64.tar.xz
root@zhzx:/zhzx/jenkins# ls 
angang      node-v16.16.0-linux-x64.tar  yarn-1.22.19.tar.gz
jenkins1.sh  jenkins_home       node-v16.16.0-linux-x64  node-v16.16.0.tar.gz
# 创建 dockerfile
root@zhzx:/zhzx/jenkins#  touch  jenkinsdockerfile 
root@zhzx:/zhzx/jenkins#  chmod 777 jenkinsdockerfile

然后使用vi | vim | gedit 都可以编辑

FROM jenkins/jenkins
MAINTAINER liangang-11
USER root
RUN mkdir -p /usr/local/node-v16.16.0-linux-x64
WORKDIR /usr/local
COPY  node-v16.16.0-linux-x64.tar  /usr/local
RUN  tar -xvf node-v16.16.0-linux-x64.tar 
RUN  mv node-v16.16.0-linux-x64  node
#COPY  yarn-1.22.19.tar.gz /usr/local

# 设置环境变量 
ENV NODE_HOME=/usr/local/node
ENV PATH=$NODE_HOME/bin:$PATH

依据我们的dockerfile制作镜像

docker build -t jenkins . -f  jenkinsdockerfile
  • -t jenkins 制定镜像名称 ,默认是latest , 也可以自己制定 , -t jenkins:xxx
  • jenkins 后面有个 ‘ . ’ 不可以少,代表当前目录
  • -f 指定使用的那个 docekrfile ,默认Dockerfile
    镜像已经制作完成,查看我们制作的镜像,第一个就是
root@zhzx:/zhzx/jenkins# docker images
REPOSITORY                                 TAG       IMAGE ID       CREATED          SIZE
jenkins                                    latest    3fe39cb9b3f5   19 minutes ago   730MB
jenkins_node_yarn                          latest    0e947d67e50d   7 hours ago      677MB
jenkins                                    java17    b839b7ecf0e7   30 hours ago     244MB
java                                       17        14dc55ee01bc   35 hours ago     244MB
minio/minio                                latest    e31e0721a96b   6 months ago     406MB
jenkins/jenkins                            latest    55860ee0cd73   6 months ago     442MB
nginx                                      latest    605c77e624dd   6 months ago     141MB
redis                                      latest    7614ae9453d1   6 months ago     113MB
mysql                                      5.7       c20987f18b13   6 months ago     448MB
mysql                                      8         3218b38490ce   6 months ago     516MB
mysql                                      latest    3218b38490ce   6 months ago     516MB

三、启动镜像

1. 启动

#!/bin/bash

docker stop jenkins && docker rm jenkins 

docker run -d -uroot -p 9095:8080 -p 50000:50000 --name jenkins \
-v /zhzx/jenkins/jenkins_home:/var/jenkins_home  \
 -v /etc/localtime:/etc/localtime    \
 -v /root/.ssh/id_rsa:/root/.ssh/id_rsa \
 -v /zhzx/java/jdk-17.0.2:/opt/java/jdk-17.0.2 \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v $(which docker):/usr/bin/docker \
 -v /zhzx:/zhzx \
 jenkins

2.进入容器查看node、npm环境

root@zhzx:/zhzx/jenkins# docker exec -it jenkins /bin/bash 
root@fc244b3860f4:/usr/local# node -v 
v16.16.0
root@fc244b3860f4:/usr/local# npm -v 
8.11.0
root@fc244b3860f4:/usr/local# 

到此,大功告成, 终于可以开始我们的CICD了。


总结

学习一点点,有没有get到 亿 点

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐