随便记录一下
1、首先需要在项目的根目录添加DockerFile文件
FROM node:10.15
#FROM node:latest
RUN mkdir -p /home/www/nodeEmail
WORKDIR /home/www/nodeEmail
RUN apt-get update
RUN apt-get install -y \
vim \
wget
COPY . /home/www/nodeEmail
RUN npm install
# 设置时区
RUN rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#EXPOSE 3000
ENTRYPOINT ["npm", "run"]
CMD ["start"]
2、然后我们需要build一个镜像,在根目录下执行,来生成镜像
docker build -t nodemail .
3、然后我们通过docker image可以看到我们已经打包好的镜像
4、最后我们把服务启动起来
docker run -d -p 8003:3000 --name="nodeemail" nodeemail
docker run
是 docker create
和 docker start
两个命令的简写。
-d
即 --detach
,代表让容器后台运行。-p
指定宿主机和容器的端口映射,左边为宿主机的端口,右边为容器的端口,也就是说访问宿主机的 8003 端口,会映射到容器内的 3000 端口。--name
设置容器别名,如果不指定,docker 会随机生成一个名字,比如 tender_swirles
之类的。添加内存限制
docker run -d -p 8081:8080 -m 512M --memory-swap -1 --name tomcat01
--memory-swap
设置为 0 和不设置是一样的,此时如果设置了 --memory
,容器可以使用的 swap 大小为 --memory
值的两倍。--memory-swap
的值和--memory
相同,则容器不能使用 swap。docker run -d -p 8003:3000 -m 100M --memory-swap -1 --name="nodemail" nodemail
5、进入容器里面进行查看
docker exec -it express-app bash
6、关闭容器
docker stop nodeemail
docker rm nodeemail