• 在linux上通过docker运行容器,通过docker搭建jenkens环境


    参考博文:https://www.cnblogs.com/lentoo/p/9582792.html

    阿里云  linux 7.4

           原先项目一直是通过打成jar包上传到服务器,再通过命令 nohup java -jar xxx &跑的,但是每次手动上传jar包很耗时,而且不方便多人协作项目,所以打算改用jenkens自动部署。docker 是已经安装好了的,这里不多说,可以看看别人教程安装docker。我这里从通过docker安装jenkens开始讲。搭建别的环境,比如nginx,gitlab之类的流程都是一样的,只有镜像文件和run语句不一样,这篇博文也可以参考的。

    1. 先查询docker镜像意思一下
        docker search jenkins 

      2.拉取最新的jenkens镜像(把镜像下载要服务器上)

        docker pull jenkins:latest
        输入命令后等它下载,下载完是这样的

    3.运行镜像

      

    sudo docker run -d -u root --privileged --name jenkins -p 49003:8080 -v /opt/docker_jenkens:/var/jenkins_home -v /usr/local/java/apache-maven-3.3.9:/usr/local/maven -v /usr/local/java/jdk1.8.0_181:/usr/local/jdk -v /usr/local/java/node-v10.15.3-linux-x64:/usr/local/java/node-v10.15.3-linux-x64 -v /home/admin:/home/admin jenkins:latest

    命令解析:

    1. -u 0

        指的是传入root账号ID,覆盖容器中内置的账号

        2. -v /home/admin/jenkens:/var/jenkins_home

        指的是 将docker容器内的jenkens主目录/var/jenkins_home映射到宿主机/home/admin/jenkens目录上

    1. --name jenkins_node1

        将容器命名为 jenkins_node1

    1. -p 49003:8080

        端口映射,将容器的8080端口映射到宿主机的49003端口

    1. --privileged

        赋予最高权限

    • 整条命令的意思

        运行一个镜像为jenkins:latest的容器,命名为jenkins_node1,使用root账号覆盖容器中的账号,赋予最高权限,将容器的 /var/jenkins_home映射到宿主机的/home/admin/jenkens目录下,映射容器中8080端口到宿主机49003端口 (名词解释这段是从别的博文copy的,文章最上面有放原博文链接)

         如果在生成镜像活运行容器的时候出错,把滚动条拉到最下面有出错时常用的命令和出错原因

        6.如果是阿里云服务器还需要在安全组开放jenkens服务(49003)的端口

        7.在浏览器输入ip+ jenkens服务端口号 (例http://127.0.0.1:49003),出现以下页面就代表启动成功啦

      

      

    运行jenkens时遇到问题时的常用命令
    #s查看下载的dockers镜像
    sudo docker images

    #查看所有docker容器
    docker ps -a
    #查看正在运行的docker容器
    docker ps 

    一般最容易出问题的地方都是这一句话
    sudo docker run -d -u 0 --privileged  --name sfb_jenkins -p 49003:8080 -v /opt/docker_jenkens:/var/jenkins_home jenkins:latest
    执行这个语句的时候出错,这个时候有可能docker没有生成容器,但也有可能已经生成了一个自己不想要的容器
    这个时候,先执行
    docker ps  查看当前正在运行的容器有没有jenkens

    如果有,先停止运行 命令是 docker stop + 容器的ID (例: docker stop 19b3b09fcbb8)

    再删除容器
    docker rm + 容器的ID (例:docker rm 19b3b09fcbb8)

    只能删除已经停止运行的容器,所以记得先停止再删除。这样,就是再执行新的run语句生成新的容器啦

    重启停止运行的容器
    docker restart + 容器的ID
  • 相关阅读:
    HZOJ 通讯
    HZOJ 礼物
    HZOI 可怜与超市
    高二小假期集训—D5
    [BZOJ3566][SHOI2014]概率充电器
    [***]HZOI20190714 T2熟练剖分
    20190714(又一次翻车……)
    HZOI20190714 T3建造游乐场
    模板—慢速乘
    模板—十进制快速幂
  • 原文地址:https://www.cnblogs.com/0kuxia0/p/10214674.html
Copyright © 2020-2023  润新知