千家信息网

Docker如何部署

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇文章给大家分享的是有关Docker如何部署的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一 : 概述我们将在 CentOS 7 上演示用 Docker 部署 Sprin
千家信息网最后更新 2025年02月06日Docker如何部署

这篇文章给大家分享的是有关Docker如何部署的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一 : 概述

  • 我们将在 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=infoENV 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 # 启动dockersystemctl enable docker # 设置开机启动


四 : 项目目录及文件

  • 新建 Spring Boot 项目, docker-demo, 这个项目很简单, 只修改了入口类, 代码如下 :

    @SpringBootApplication @RestControllerpublic 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, 标签(版本)为8MAINTAINER info # 作者 info# 将我们的 dockerdemo-0.0.1-SNAPSHOT.jar 添加到镜像中, 并重命名为app.jarADD dockerdemo-0.0.1-SNAPSHOT.jar app.jarEXPOSE 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如何部署"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

镜像 运行 示例 编译 命令 容器 目录 文件 指令 明了 内容 动作 参数 项目 作者 入口 更多 环境 程序 端口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算机软件开发创业规划 网络安全管理书籍摘抄 东城区软件开发 网络安全安全关键物料有那些 北京易联时代网络技术有限公司 服务器如何看主板驱动 服务器和电脑开机界面怎么不一样 计算机网络技术专业学生日常 北京电子软件开发计划 数据库怎么进行存储 优化 平安中国网络安全大会 期刊数据库技术与应用 数据库服务器怎么转移 网络技术和信息技术的关系 视频云联网网络安全项目效益分析 软件开发增值税相关税收政策 外汇管理网络安全与信息化 数据库是简易还是完整 谷歌服务器无法登录怎么回事 软件开发的先进性 浙江大型软件开发诚信经营 对学习计算机网络技术课程的建议 校园网络安全名言 软件开发文档编写多少钱 iis服务器安全防护 使用linux做软件开发 wps公式去重复数据库 正在链接服务器 鼎捷t100服务器 一个系统搭建多个服务器
0