前提查看
查看下面两个文件,如果宿主机没有,就不用跟着文档做了
[root@localhost ~]# ll /var/run/docker.sock
srw-rw----. 1 root docker 0 5月 16 13:37 /var/run/docker.sock
[root@localhost ~]#
[root@localhost ~]# ll /usr/bin/docker
-rwxr-xr-x. 1 root root 39708368 5月 8 22:01 /usr/bin/docker
[root@localhost ~]#
运行jenkins容器
[root@localhost ~]# docker pull jenkins/jenkins
[root@localhost ~]# docker run -u root -d --name jenkins -p 9999:8080 -p 8888:8888 -p 50000:50000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
jenkins/jenkins
#目的是在 Docker 中启动 Jenkins 容器,并配置使得 Jenkins 能够在容器内部执行 Docker 相关操作
"-u root:以 root 用户身份运行容器。"
"-d:以后台模式运行容器"
"--name jenkins:指定容器的名称为 "jenkins"。"
"-p 9999:8080:将容器的 8080 端口映射到主机的 9999 端口,这样你就可以通过主机的 9999 端口访问 Jenkins"
"-p 8888:8888:将容器的 8888 端口映射到主机的 8888 端口,可能是 Jenkins 的代理端口。"
"-p 50000:50000:将容器的 50000 端口映射到主机的 50000 端口,可能是 Jenkins 的代理端口"
"-v /var/run/docker.sock:/var/run/docker.sock:将主机的 Docker 守护进程的 Unix 套接字挂载到容器内部,以便容器内的 Jenkins 可以与主机上的 Docker 交互"
"-v /usr/bin/docker:/usr/bin/docker:将主机上的 Docker 可执行文件挂载到容器内部,以便容器内的 Jenkins 可以使用宿主机上的 Docker 命令"
"jenkins/jenkins:要运行的容器镜像"
通过容器运行Jenkins时,如何解决docker not found或Permision Defined错误
容器化运行Jenkins时,在执行流水线或自由风格项目时,也想调用宿主机的docker,在执行遇到docker命令时就可能遇到docker not found或Permision Defined错误
如果要在Jenkins容器中执行docker命令,那么在创建Jenkins容器时,就需要通过挂载卷形式,将宿主机的docker进程关联到jenkins容器内部
标签:容器,run,command,jenkins,Jenkins,found,docker,root From: https://www.cnblogs.com/xietingfeng321/p/18197480