zoukankan      html  css  js  c++  java
  • 在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
  • 相关阅读:
    C#利用反射动态调用类及方法
    系统程序监控软件
    SQL server 2008 安装和远程访问的问题
    sql server 创建临时表
    IIS 时间问题
    windows 2008 安装 sql server 2008
    sql server xml nodes 的使用
    Window 7sp1 安装vs2010 sp1 打开xaml文件崩溃
    CSS资源网址
    Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0
  • 原文地址:https://www.cnblogs.com/0kuxia0/p/10214674.html
Copyright © 2011-2022 走看看