docker使(二)—发布node应用镜像和容器

应用在本地是已经ok的了,现在将node应用放进docker容器里面

获取node镜像

docker pull node

编写Dokerfile

# 根据node镜像开始创建新的镜像(可以加上:tag)
FROM node

# 用于在Image里创建一个文件夹并用来保存我们的代码
#-P:将容器内部使用的网络端口映射到我们使用的主机上
RUN mkdir -p /home/service

# 将我们创建的文件夹做为工作目录
WORKDIR /home/service

# 把本机当前目录下的所有文件拷贝到Image的/home/Service文件夹下
COPY . /home/service
# 使用npm 安装我们的app据需要的所有依赖
RUN npm install

EXPOSE 80

CMD ['npm','start']

#注意这里容器暴露的是80端口,应用服务的监听端口也应该是80端口

#为了避免node_modules里面的文件也copy,我设置了.dockerignore

制作镜像


docker build -t aad_serve:0.0.1 .
(注意最后的.)
-t :指定要创建的目标镜像名

. :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

自己设置端口

使用镜像创建容器并启动node应用

# 方法一:让docker自己映射端口
docker run -d -p  aad_serve:0.0.1  node app.js


# 方法二:自己配置映射端口
docker run -d -p 100:80 aad_serve:0.0.2  node app.js
(注意100:80的意思是,将主机的100端口和容器的80d端口做映射)

现在可以在主机访问http://localhost:100

容器的停止和删除

如果cmd终端不行时,在powershell里面操作


 docker rm $(docker ps -a -q)   #删除全部通用容器
docker ps -a  查看全部容器,含停用

参考文章</>

posted @ 2019-07-19 15:27  潘峰YiRan  阅读(724)  评论(0编辑  收藏  举报