淘先锋技术网

首页 1 2 3 4 5 6 7

Docker是一款开源的容器化平台,它允许开发者把应用程序和它们依赖的环境(库、工具)打包到一个轻量级的、可移植的容器中,从而方便部署和运行。本文将介绍如何使用命令行工具make构建Docker镜像。


// Dockerfile示例
FROM node:10.16.0-alpine

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 8080

CMD ["npm", "start"]

makedocker

要构建Docker镜像,我们需要创建一个Dockerfile文件,其中包含指令和参数,指示Docker如何构建镜像。以Node.js项目为例,以下是Dockerfile的示例代码:

上述Dockerfile的意思是:使用alpine版的Node.js作为基础镜像,在/app目录下安装Node.js依赖包,将项目源代码复制到/app目录下,并指定容器对外暴露的端口为8080,并设置容器启动时执行的命令为npm start。

接下来,我们使用make命令编写构建Docker镜像的脚本:


# Makefile示例
TAG = myapp
CONTAINER_NAME = myapp_container

build:
    @docker build -t $(TAG) .

run:
    @docker run -p 8080:8080 -d --name $(CONTAINER_NAME) $(TAG)

stop:
    @docker stop $(CONTAINER_NAME); docker rm $(CONTAINER_NAME)

在上述Makefile中,我们定义了TAG和CONTAINER_NAME变量,分别表示镜像名称和容器名称。build命令使用docker build命令构建镜像,其中-t参数指定镜像名称为$(TAG),‘.’表示当前文件夹为构建上下文。run命令使用docker run命令启动容器,参数-p指定端口映射,-d表示后台运行,–name表示容器名称为$(CONTAINER_NAME)。stop命令停止并删除容器。

到此为止,我们已经完成了构建Docker镜像的过程,并通过make命令定义的脚本启动了容器。通过Docker,我们可以方便地部署和管理应用程序,大大降低了应用程序的运维成本。