共计 2171 个字符,预计需要花费 6 分钟才能阅读完成。
这篇文章给大家分享的是有关 Docker 如何部署的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。
一 : 概述
我们将在 CentOS 7 上演示用 Docker 部署 Spring Boot 程序。
我们需要编译自己的 Docker 镜像, 并运行镜像的容器。
主流的云计算 (PAAS) 平台都支持发布 Docker 镜像。
二 : Dockerfile(一) 介绍
Docker 是使用 Dokerfile 文件来编译自己的镜像的。
(二) 指令
FROM : 指明了当前镜像继承的基镜像
编译当前镜像时会自动下载基镜像
示例 : FROM ubuntu
MAINTAINER : (maintainer, 维护者) 指明了当前镜像的作者
示例 : MAINTAINER info
RUN : 可以在当前镜像上执行 Linux 命令并形成一个新的层
RUN /bin/bash -c echo helloworld
RUN [/bin/bash , -c , echo hello]
RUN 是编译时 (build) 的动作
示例 : 可有如下两种格式, CMD 和 ENTRYPOINT 也是如此
CMD : (command, 命令 / 指令) 指明了启动镜像容器时的默认行为
一个 Dockerfile 里只能有一个 CMD 指令。CMD 指令里设定的命令可以在运行镜像时使用参数覆盖。
CMD 是运行时 (run) 的动作
示例 : CMD echo this is a test
可被 docker run-d image_name echo this is not a test 覆盖。
EXPOSE : (expose, 暴露) 指明了镜像运行时的容器必需监听指定的端口。
示例 : EXPOSE 8080
ENV : (environment, 环境) 可用来设置环境变量
示例 : ENV myName=info 或 ENV myName info
ADD : 从当前工作目录复制文件到镜像目录中去
示例 : ADD test.txt /mydir/
ENTRYPOINT : (entrypoint, 入口点) 让容器像一个可执行程序一样运行, 这样镜像运行时可以像软件一样接收参数执行。
ENTRYPOINT 是运行时 (run) 的动作。
示例 : ENTRYPOINT [/bin/echo]
我们可以向镜像传递参数运行 :
docker run -d image_name this is not a test
三 : 安装 Docker
通过下面命令安装 Docker :
yum install docker
启动 Docker 并保持开机自启 :
systemctl start docker # 启动 docker
systemctl enable docker # 设置开机启动
四 : 项目目录及文件
新建 Spring Boot 项目, docker-demo, 这个项目很简单, 只修改了入口类, 代码如下 :
@SpringBootApplication
@RestController
public class DockerDemoApplication {
@RequestMapping(/)
public String home() {
return Hello Docker!!
}
public static void main(String[] args) {
SpringApplication.run(Ch20dockerApplication.class, args);
}
}
在 CentOS 7 上的 /var/apps/dockerdemo 目录下放入我们编译好的 dockerdemo 的 jar 包, 如 dockerdemo-0.0.1-SNAPSHOT.jar, 在同级目录下新建一个 Dokcerfile 文件。
Dockerfile 文件内容如下 :
FROM java:8 # 基镜像为 Java, 标签 (版本) 为 8
MAINTAINER info # 作者 info
# 将我们的 dockerdemo-0.0.1-SNAPSHOT.jar 添加到镜像中, 并重命名为 app.jar
ADD dockerdemo-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080 # 运行镜像的容器, 监听 8080 端口
ENTRYPOINT [java , -jar , /app.jar] # 启动时运行 java -jar app.jar
五 : 编译镜像
在 /var/apps/dockerdemo 目录下执行下面命令, 执行编译镜像 :
docker build -t info/dockedemo .
其中, info/dockedemo 为镜像名称, 我们设置 info 作为前缀, 这也是 Docker 镜像的一种命名习惯。
注意, 最后还有一个 ., 这是用来指明 Dockerfile 路径的, . 表示 Dockerfile 在当前路径下。
这时我们查看本地镜像
docker images
六 : 运行
通过下面命令运行 :
docker run -d --name test -p 8080:8080 info/dockerdemo
查看我们当前的容器状态
docker ps
当前的 CentOS 系统的 ip 为 192.168.25.11, 访问 http://192.168.25.11:8080
感谢各位的阅读!关于“Docker 如何部署”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!