Una, el aprendizaje Dockerfile
La escritura consiste en una serie de parámetros y comandos constituidos. Estos comandos se utilizan en la imagen base y, finalmente, crear una nueva imagen. imagen de base es una imagen especular del nivel del sistema operativo.
- Comandos comunes
DE image_name: etiqueta | Que define el uso de la imagen de base para iniciar el proceso de construcción |
---|---|
nombre_usuario MAINTAINER | Exención de responsabilidad creador espejo |
valor de la clave ENV | Establecer las variables de medio ambiente (se puede escribir múltiple) |
comando RUN | Dockerfile es una parte central (se puede escribir múltiple) |
Añadir source_dir / archivo dest_dir / archivo | Copiar el archivo en el host del contenedor, si se trata de un archivo comprimido, se va a extraer de forma automática después de la replicación |
COPIA source_dir / archivo dest_dir / archivo | Y como ADD, pero si no es un archivo comprimido y descomprimir |
path_dir WORKDIR | Establecer el directorio de trabajo |
- Crear un espejo usando un script
//创建目录
mkdir –p /docker/dockerjdk8
//通过ftp上传一个jdk到dockerjdk8目录里面
//创建一个名为Dockerfile文件
vi Dockerfile
//配置Dockerfile文件
#依赖镜像名称和ID
FROM centos:7
#指定镜像创建者信息
MAINTAINER YANGK
#切换工作目录
WORKDIR /docker
RUN mkdir /docker/java
#ADD 是相对路径jar,把java添加到容器中
ADD jdk-8u131-linux-x64.tar.gz /docker/java
#配置java环境变量,如果不知道jdk解压之后的命令,可以在宿主机解压看看
ENV JAVA_HOME /docker/java/jdk1.8.0_131
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 build -t='jdk1.8' .
-t:指定镜像名称
.指定Dockerfile的文件夹,当前目录就有,所以这个点就指代当前目录
//查看镜像是否创建成功
docker images
En segundo lugar, para construir un almacén privado
- Construir depósito privado
//搜索镜像
docker search registry
//拉取镜像
docker pull registry
//启动私有仓库容器
docker run -di --name=registry -p 5000:5000 registry
Comprobar si depósito privado para construir un éxito, abrir el navegador para acceder a http: // centosIP: 5000 / v2 / _catalog ver { "repositorios": []} representa la puesta en marcha exitosa
daemon.json modificación, deja la dirección del almacén cargador de muelle fideicomiso privado
//修改daemon.json
vi /etc/docker/daemon.json
//增加如下内容
"insecure-registries":["centosIP:5000"]
//重启docker服务
systemctl restart docker
- La duplicación se subido a un almacén privado
//标记此镜像为私有仓库的镜像
docker tag jdk1.8 centosIP:5000/jdk1.8
//再次启动私服容器
docker start registry
上传标记的镜像
docker push centosIP:5000/jdk1.8
Acceder al repositorio de nuevo
Tercer despliegue, automatizado a través de plugins de Maven
- Modificar la configuración del host estibador, de modo que el acceso de forma remota podría
//让docker可以远程访问,docker默认关闭远程操作。
vi /lib/systemd/system/docker.service
其中在ExecStart=后添加配置-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
//刷新配置,重启服务
systemctl daemon-reload
systemctl restart docker
docker start registry
- La creación de un proyecto Maven
//配置maven插件
<build>
<finalName>dockerDemo</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker的maven插件,官网:https://github.com/spotify/docker-maven-plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<!-- 生成的镜像名称 -->
<imageName>192.168.100.128:5000/${project.artifactId}:${project.version}</imageName>
<!-- 基础镜像 相当于FROM jdk1.8-->
<baseImage>jdk1.8</baseImage>
<!-- 入口点 相当于ENTRYPOINT ["java","-jar","/dockerDemo.jar"]-->
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<!-- 创建路径,target路径-->
<directory>${project.build.directory}</directory>
<!-- dockerDemo.jar 相当于ADD dockerDemo.jar /-->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<dockerHost>http://192.168.100.128:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>
- Desplegado a los servicios de ventana acoplable y PW
//进入项目工程目录下,将项目安装到本地仓库
mvn install
//输入以下命令,进行打包和上传镜像
mvn docker:build -DpushImage
- contenedor de inicio
docker run -di --name=demo -p 9002:8080 192.168.100.128:5000/demo:0.0.1-SNAPSHOT
proyecto Sprinboot Se crea el puerto por defecto es 8080,
Cuatro, el aprendizaje Jenkins
- Jenkins es lo que
Jenkins es una herramienta de integración continua para obtener el código desde el repositorio y generar una lista de cambios de código y salida de información a la salida del compilador. Generar informe de prueba JUnit / TestNG, que se utiliza en forma de gráficos y otros tipos de reporte detallado de las pruebas. Apoyar terceros plug-ins que Jenkins se ha vuelto más y más potente - entrada configuración de la instalación, requiere JDK apoyo
Descargar:
//安装
rpm -ivh jenkins-2.183-1.1.noarch.rpm
//配置修改用户和端口
vi /etc/sysconfig/jenkins
JENKINS_USER="root"
JENKINS_PORT="9909"
//启动服务,如果报错可以根据提示找到错误原因
systemctl start jenkins
//重启服务
systemctl daemon-reload
//查看启动状态
systemctl status jenkins
//获取初始密码
cat /var/lib/jenkins/secrets/initialAdminPassword
Inicio insuficiencia tiempo por Jenkins estado systemctl. Ver no se encuentra JDK (JDK mí la instalación silenciosa no es / usr / bin / java)
Modificar vi /etc/init.d/jenkins, aumentar la ruta del JDK
Obtener la contraseña
Y otra comienzo exitoso para aparecer en esta página, la razón es comprobar el sitio de actualización en el plug-in Manager, utilice https, http cambiaron en la línea
//通过这个命令找到更新文件的路径
find / -name "hudson.model.UpdateCenter.xml"
//修改
vi /var/lib/jenkins/hudson.model.UpdateCenter.xml
Reinicio Jenkins, se puede descargar el plug-in
- Enchufe
el escalón más alto después de lo que ha sido una instalación predeterminada de algunos plug-ins, como git similares. Tras la instalación de un plugin de Maven
Después de seleccionar solo clic a continuación se instala directamente sobre ella
- configuración de la herramienta global
de integración continua Jenkins realmente puede llamar a Maven plugin, ejecutar el comando experto para lograr este efecto de integración- Instalación de Maven
Descargar:
- Instalación de Maven
//解压
tar -zxvf apache-maven-3.6.1-bin.tar.gz
//配置本地仓库
vi /yangk/apache-maven-3.6.1/conf/settings.xml
- 工具配置
herramienta de configuración global para Jenkins hallazgo
Configuración de JDK, GIT, Mvane
Antes de Git Jenkins se ha instalado de forma predeterminada, por lo que el defecto en él
- Creación y ejecución de tareas
antes de ejecutar este paso, voy a ser un tema ordinario cargado en el servidor dentro de un git.- nuevo proyecto
- nuevo proyecto
Rellene el proyecto en dirección de Git
Pom.xml encontrar la ubicación del proyecto, el proyecto se compila en el orden de arranque de entrada de antemano, y luego guardarlo.
Haga clic en el cuadro rojo donde se puede iniciar esta tarea, y que aparecen aquí para identificar bola roja y los días de lluvia es porque no he logrado poner en marcha, cuenta git y la contraseña no se configuran
Podemos ver el progreso de este proyecto de la izquierda, haga clic en la barra de progreso puede ir a ver el programa detallado. Después de todo, si la configuración exitosa se puede ver la imagen completa en la ventana acoplable. Se configura en el interior de antemano pom.