随便记录一下
1、首先需要在项目的根目录添加DockerFile文件
FROM node:10.15
#FROM node:latest
RUN mkdir -p /home/www/nodeEmail
WORKDIR /home/www/nodeEmail
COPY . /home/www/nodeEmail
#RUN npm install
#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=”300m” –memory-swap=”1g” 的含义为: 容器可以使用 300M 的物理内存,并且可以使用 700M(1G -300M) 的 swap。–memory-swap 居然是容器可以使用的物理内存和可以使用的 swap 之和!
- 把
--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
7、删除容器
docker rm nodeemail
|