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