YouTube视频讲解:
B站视频:
https://www.bilibili.com/video/BV1mw41117ER/
Makefile:
IMAGE_NAME=my-nginx
IMAGE_TAG=v1.0
CONTAINER_NAME=my-nginx-container
# 默认目标,构建 Docker 镜像
all: build
# 构建 Docker 镜像
build:
docker build -t $(IMAGE_NAME):$(IMAGE_TAG) .
# 运行 Docker 容器
run:
docker run -d --name $(CONTAINER_NAME) -p 80:80 $(IMAGE_NAME):$(IMAGE_TAG)
# 停止 Docker 容器
stop:
docker stop $(CONTAINER_NAME)
# 清除 Docker 镜像+container
clean:
docker rm $(CONTAINER_NAME)
docker rmi $(IMAGE_NAME):$(IMAGE_TAG)
.PHONY: all build run stop clean
在此 Makefile 中:
all是默认目标,它依赖于run目标。- 使用
make build或简单的make可以构建 Docker 镜像。 - 使用
make run可以运行一个 Nginx 容器。容器将监听主机的 80 端口,并映射到容器的 80 端口。 - 使用
make stop可以停止并删除 Nginx 容器。 - 使用
make clean可以删除创建的 Docker 容器以及镜像。
有了这个‘Makefile’, 你就可以非常简单地通过‘make命令’来构建镜像并使用docker容器!
Dockerfile 按需修改即可:
FROM nginx:latest EXPOSE 80



