Jenkins+Dokcer,run一个docker demo

本文介绍如何使用Jenkins和Docker实现自动化部署流程,包括Jenkins的安装配置、Docker镜像的构建及通过GitLab触发构建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 安装jenkins

2. 在应用部署机器安装docker

3. 在jenkins所在机器ssh-keygen -rsa,然后把id_rsa.pub的内容copy至docker机器的authorized_keys末尾

4. 在ide里新建项目docker_demo,并share project至git,路径为  

    git@gitlab.xxx:wuhui.wwh/docker_demo.git

5. 配置jenkins

5.1 启动jenkins,并新建一个自由风格的应用:docker_demo

5.2 勾选:Build when a change is pushed to GitLab. GitLab CI Service URL: http://11.239.174.154:8080/jenkins/project/docker_demo

        5.3 在gitlab的docker_demo--》settings--》Web Hooks--》URL为5.2的http://11.239.174.154:8080/jenkins/project/docker_demo

        5.4 构建-->execute shell:

#!/bin/sh
#把代码scp至服务器相应的路径
scp -r ./* wuhui.wwh@11.239.174.154:/home/wuhui.wwh/docker/images/docker_demo/docker_demo
ssh 11.239.174.154
cd /home/wuhui.wwh/docker/images/docker_demo
echo "${password}"|sudo -S docker build -t i_docker_demo:v1.0 .
echo "${password}"|sudo -S run -it --name c_docker_demo i_docker_demo:v1.0 ./run.sh

6.  代码:

      6.1 java代码App.java

package base;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args ) throws InterruptedException
    {
        while(true){
        	System.out.println("Hello world~");
        	Thread.currentThread().sleep(2000);
        }
    }
}
     6.2 在/home/wuhui.wwh/docker/images/docker_demo目录下Dockerfile

FROM im_jdk_tomcat_mvn:v1.0
MAINTAINER wuhui.wwh <wuhui.wwh@xxx.com>
RUN mkdir -p /workdir/docker_demo
COPY ./docker_demo/ /workdir/docker_demo/docker_demo/
COPY ./startup.sh /workdir/docker_demo
COPY ./run.sh /workdir/docker_demo
#RUN source /etc/profile
#USER wuhui.wwh
WORKDIR /workdir/docker_demo
RUN chmod +x ./startup.sh
RUN chmod +x ./run.sh

ENV JAVA_HOME /opt/jdk1.8.0_121
ENV M2_HOME /opt/maven3.3.9
ENV MAVEN_HOME /opt/maven3.3.9

ENV PATH $PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
RUN echo `pwd`

WORKDIR docker_demo
RUN mvn clean package

WORKDIR ..
CMD "./run.sh"

     6.3 在/home/wuhui.wwh/docker/images/docker_demo目录下run.sh

#!/bin/sh
java -cp docker_demo/target/docker_demo-1.0.jar base.App


7. run第一个docker_demo

   7.1   jenkins构建docker_demo

   7.2   提交代码

都会触发jenkins从git拉代码,docker 根据Dockerfile构建镜像,并最终启动一个c_docker_demo 的容器,同时执行App.java中的main方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值