zoukankan      html  css  js  c++  java
  • docker制作镜像

    使用Dockerfile脚本创建jdk1.8镜像

    新建jdk目录:(-p表示需要父目录,不然就会出错)

    mkdir -p /usr/local/dockerjdk1.8

    将jdk的压缩文件复制到上面的路径

    Linux上使用vim在上面创建的目录中创建Dockerfile文件,这里文件内容如下

    #依赖镜像名称和ID
    FROM centos:7
    #指定镜像创建者信息
    MAINTAINER ITCAST
    #切换工作目录
    WORKDIR /usr
    RUN mkdir /usr/local/java
    #ADD 是相对路径jar,把java添加到容器中
    ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
    #配置java环境变量
    ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
    ENV JRE_HOME $JAVA_HOME/jre
    ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
    ENV PATH $JAVA_HOME/bin:$PATH

    docker创建镜像(. 是 Dockerfile 所在的路径(当前目录))

    docker build -t='jdk1.8' .

    最后创建容器

    docker run -it --name=myjdk8 jdk1.8 /bin/bash

    注意这里使用Dockerfile创建镜像的好处就是可以提供一致的开发环境,方便运维的无缝移植


    docker创建私有仓库

    分别运行下面的命令创建

    docker pull registry
    docker run -di --name=registry -p 5000:5000 registry

    打开浏览器直接访问http://宿主机的IP:5000/v2/_catalog就可以看到对应的内容

    修改宿主机的内容

    vim /etc/docker/daemon.json

    修改内容如下,添加一行   "insecure-registries":["192.168.217.131:5000"]

    此步用于让 docker信任私有仓库地址

    {
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],
    "insecure-registries":["192.168.217.131:5000"]
    }

    镜像上传至私有仓库

    标记镜像是私有仓库的镜像

    docker tag jdk1.8 192.168.217.131:5000/jdk1.8

    启动仓库上传镜像,“/”之前的是 仓库的名字,后面是对应的镜像

    docker start registry
    docker push 192.168.217.131:5000/jdk1.8

    通过maven插件实现自动部署

    修改宿主机的设置

    vim  /lib/systemd/system/docker.service

    在ExecStart后面添加下面内容(docker 开启2375端口,提供外部访问docker

    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

    刷新配置重启服务

    systemctl daemon‐reload  
    systemctl restart docker  
    docker start registry

    在工程的pom文件中加入下面的插件设置

    <build>
    <finalName>app</finalName>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    <plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.4.13</version>
    <configuration>
    <imageName>192.168.217.131:5000/${project.artifactId}:${project.version}</imageName>
    <baseImage>jdk1.8</baseImage>
    <entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint>
    <resources>
    <resource>
    <targetPath>/</targetPath>
    <directory>${project.build.directory}</directory>
    <include>${project.build.finalName}.jar</include>
    </resource>
    </resources>
    <dockerHost>http://192.168.217.131:2375</dockerHost>
    </configuration>
    </plugin>
    </plugins>
    </build>

    上面的配置会自己生成下面的Dockerfile的内容

    FROM jdk1.8  
    ADD app.jar /  
    ENTRYPOINT ["java","‐jar","/app.jar"]

    在对应工程的主目录下使用maven命令,打包镜像并且上传

    mvn clean package docker:build  ‐DpushImage

    这时候刷新http://192.168.217.131:5000/v2/_catalog就会出现json数据中多了一个镜像。

    使用docker images查看镜像就会发现多了个镜像,这时候创建对应的容器实现访问对应的接口


    搭建Git服务

    Gogs: 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务

    docker pull gogs/gogs
    docker run ‐d ‐‐name=gogs ‐p 10022:22 ‐p 3000:3000 ‐v /var/gogsdata:/data  gogs/gogs

    docker 中-v表示的是挂载,将gogs的数据文件挂载到前面的文件夹。

    访问3000端口就能看到安装界面,安装对应的gogs,IP是宿主机的IP,端口号是3000,内置数据库,如果自己的项目很大就使用MySQL,不大就是用SQLite就好了,最后注册进入

    创建仓库,为了简单就设置了公有的

    仓库地址

     配置IDEA中的Git实现Git服务

     在vcs中选择菜单VCS  --> Enable Version Control Integration

    Git-->remotes添加Git服务的地址

    最后想Git添加工程

    Git-->add

    Git-->commit

    Git-->push


    jenkins实现持续集成

     这里直接将Jenkins安装在宿主机上

    下载安装

    rpm -ivh jenkins-2.164.1-1.1.noarch.rpm 

    修改配置

    vi /etc/sysconfig/jenkins

    设置端口号和用户

    JENKINS_USER="root"
    JENKINS_PORT="8888"

    最后启动Jenkins,访问对应的8888端口

    登录的初始密码在/var/lib/jenkins/secrets/initialAdminPassword文件中,使用cat命令查看

    cat /var/lib/jenkins/secrets/initialAdminPassword

    选择安装的插件,这里需要安装maven integration和Git插件

    创建用户

    还需要安装本地maven,将下载的maven压缩包解压到usr/local/maven目录下面,,将本机使用的仓库复制一份到宿主机上,存放在/usr/local/repository中

    设置maven的settings.xml 文件,设置对应的本地仓库地址(/usr/local/repository)

    配置初始的MAVEN_HOME和JAVA_HOME

    创建任务 

    添加源码(项目)位置(上面传到gogs上面的项目地址)

    添加pom.xml文件位置还有对应的maven命令(pom文件需要注意要是想要制作模块的pom文件)

    最后执行程序就可以使用docker images查看创建好的镜像。再创建对应的容器就可以直接使用了

  • 相关阅读:
    自考过后的总结——如何快乐学习?
    自考总结——数据库原理第三章
    机房收费系统——用户权限和功能分析
    SQL视频总结
    学生信息管理系统总结——数据库的访问方式
    学习信息管理系统总结——数据库的连接和访问(一)
    学生信息管理系统总结——student数据库中表关系分析
    Kafka-文件管理
    Kafka-分区分配规则
    Kafka-处理请求(生产请求、获取请求)
  • 原文地址:https://www.cnblogs.com/feixiangdecainiao/p/10669216.html
Copyright © 2011-2022 走看看