【云原生学习笔记】docker打包应用到镜像

文章目录

  • 前言
  • 一、镜像
  • 二、docker镜像
    • 1.docker
    • 2.制作镜像


前言


在应用部署方面,前面已经介绍了通过yaml配置文件将应用镜像部署到集群的过程,本节介绍下应用如何打包成镜像。


一、镜像

首次了解镜像这个概念是在第一次装系统的时候,镜像是一种文件存储形式,一个个系统被存储在镜像中,通过这些镜像可以按照系统。

集群里说的镜像也是同样的意思,这里的镜像一般是指容器镜像,容器目前最常用是docker,所以一般会认为集群的镜像也是docker镜像。(当然,其实也是见识问题,对其他容器技术不怎么了解,听说现在Podman很火啊。)

二、docker镜像

1.docker

docker就是开源的应用容器引擎,对于docker技术的使用入门教程和介绍网上也很多,比如菜鸟教程的也很不错,这里只记录会用到的和常用的一些命令。

  • 打算在集群中事先准备好镜像,常用到:
    拉取镜像:docker pull 镜像
    制作镜像:docker build -t 镜像 dockerfile目录

拉取镜像时要注意关于容器代理的配置。制作镜像主要在于dockerfile文件的编写。

  • 直接使用使用镜像
    启动容器:docker run -it 镜像 /bin/bash

用集群部署,一般较少使用该命令。

  • 查看当前环境镜像信息
    列出镜像列表:docker images

有时会很多,建议配合grep使用。

2.制作镜像

Dockerfile 是一个用来构建镜像的文本文件,常听说docker镜像是分层的结果,这点从使用Dockerfile制作镜像的原理能只管体现出来。因为在 Dockerfile 中,一般会先选择一个基础镜像作为起点,之后的每一条指令都会创建一个镜像层,继而会增加整体镜像的大小。

下面是打包应用成镜像时会用到的一些指令介绍:
FROM:一般都在第一行,用于选择基础镜像,之后执行的指令都会基于上一步的结果去执行。
RUN:后接shell命令,在终端执行该命令,命令会在镜像构建才去执行。
COPY: 拷贝文件到容器内指定的目录,可以通过这个将应用启动需要的文件拷贝进容器。
ENV:是给容器内环境设置环境变量。
CMD:后接shell命令,同样是执行命令,但是这个一般用于启动应用程序,命令会在镜像运行时才去执行。
EXPOSE: 接端口,用于将容器内的端口往容器外进行暴露。

你可能感兴趣的:(云原生学习笔记,docker,云原生,容器)