第9章-微服务容器部署与持续集成

9 - 微服务容器部署与持续集成
学习目标:
理解 Dockerfile 的作用,能编写简单的 Dockerfile 脚本完成镜像的构建
完成 Docker 私有仓库的构建,能够运用 Maven 插件完成镜像的创建与上传
理解持续集成,说出持续集成的作用
能够完成 Gogs 的安装与配置,完成代码的提交
能够使用 Jenkins 完成代码的持续集成
1 Dockerfile
1.1 什么是 Dockerfile
Dockerfile 是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个
新的镜像。
1 、对于开发人员:可以为开发团队提供一个完全一致的开发环境;
2 、对于测试人员:可以直接拿开发时所构建的镜像或者通过 Dockerfile 文件构建一个新
的镜像开始工作了;
3 、对于运维人员:在部署时,可以实现应用的无缝移植。
1.2 常用命令 命令
作用
FROM image_name:tag
定义了使用哪个基础镜像启动构建流程
MAINTAINER
user_name
声明镜像的创建者
ENV key value
设置环境变量 ( 可以写多条 )
RUN command
Dockerfile 的核心部分 ( 可以写多条 )
ADD source_dir/file
dest_dir/file
将宿主机的文件复制到容器内,如果是一个压缩文件,
将会在复制后自动解压
COPY source_dir/file
dest_dir/file
ADD 相似,但是如果有压缩文件并不能解压
WORKDIR path_dir
设置工作目录
EXPOSE port1 prot2
用来指定端口,使容器内的应用可以通过端口和外界交
CMD argument
在构建容器时使用,会被 docker run 后的 argument
ENTRYPOINT
argument
CMD 相似,但是并不会被 docker run 指定的参数覆盖
VOLUME
将本地文件夹或者其他容器的文件挂载到容器中
1.3 使用脚本创建镜像
1.3.1 创建 JDK1.8 镜像
步骤:
1 )创建目录
mkdir –p /usr/local/dockerjdk8
2 )下载 jdk-8u171-linux-x64.tar.gz 并上传到服务器(虚拟机)中
/usr/local/dockerjdk8 目录
3 )创建文件 Dockerfile vi 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
4 )执行命令构建镜像
docker build ‐t='jdk1.8' .
注意后边的空格和点,不要省略 5 )查看镜像是否建立完成
docker images
6 )创建容器
docker run ‐it ‐‐name=myjdk8 jdk1.8 /bin/bash
果然可以创建哟 ~
1.3.2 创建 Eureka 镜像
1 )进入控制台, eureka 工程的目录下,执行 maven 命令
mvn clean package
2 )服务器创建 /usr/local/dockereureka 目录, 将生成的 app.jar 上传到服务器的此目
3 )创建文件 Dockerfile
FROM jdk1.8
VOLUME /tmp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值