使用 Docker 构建和运行自己的镜像
2020-08-23 17:04 小伍2013 阅读(972) 评论(0) 编辑 收藏 举报步骤
首先,从 GitHub 中克隆示例项目:
git clone https://github.com/dockersamples/node-bulletin-board
cd node-bulletin-board/bulletin-board-app
node-bulletin-board
项目是一个简单的应用程序,使用Node.js编写。我们使用它进行容器化。
构建镜像:
docker build --tag bulletinboard:1.0 .
从镜像中构建容器:
docker run --publish 8000:8080 --detach --name bb bulletinboard:1.0
- --detach:在后台运行容器并打印出容器ID。
- --publish:将主机的8000端口绑定到容器的8080端口。
- --name:为容器分配一个命名。
访问 localhost:8000
查看部署结果。
删除容器:
docker rm --force bb
- --force:删除正在运行的容器。
或者停止后再删除:
docker stop bb
docker rm bb
Dockerfile 说明
应用程序中包含了一个名为 Dockerfile
的文件。 Dockerfile
定义了如何为容器构建专用文件系统,还可以包含一些元数据,这些元数据描述了如何基于该镜像运行容器:
# 使用官方node镜像作为父镜像
FROM node:current-slim
# 设置工作目录,后续的所有操作将在该目录中执行
WORKDIR /usr/src/app
# 将 package.json 从主机中复制到当前(工作)目录
COPY package.json .
# 在镜像文件系统中运行命令
RUN npm install
# 通知 Docker 该容器在运行时监听的端口
EXPOSE 8080
# 在容器中运行指定命令
CMD [ "npm", "start" ]
# 将应用程序的其余代码从主机复制到镜像文件系统中
COPY . .