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

mac2022-06-30  67

应用在本地是已经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 查看全部容器,含停用

参考文章</>

转载于:https://www.cnblogs.com/panfengde/p/11213517.html

最新回复(0)