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

参考文章</>

docker使(二)—发布node应用镜像和容器的更多相关文章

  1. 使用docker buildx打包发布多平台镜像

    2022-07-07 个人比较喜欢影视作品,下载了大量的剧集视频,有些文件的命名不规范,就需要重新命名,之前是用的一款 renamer 客户端软件,用起来不太爽就自己做了个 bs 架构的重命名软件并开 ...

  2. 用前端姿势玩docker【二】dockerfile定制镜像初体验

    前言 书接上文,关于dockerfile指令的api在此处不做赘述,在此只是记录下注意事项: '示坑以埋之'. 配置指令 FROM dockerfile必须以此开头 一个dockerfile可执行添加 ...

  3. docker(2)安装centos7镜像与容器管理

    1.镜像加速器 创建/etc/docker/daemon.json { "registry-mirrors": [ "https://registry.docker-cn ...

  4. Docker 清理命令 删除所有的镜像和容器

    杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器 docker rm $(docker ps -a -q) 删除所有未打 dangling ...

  5. docker 实践二:操作镜像

    本篇我们来详细介绍 docker 镜像的操作. 注:环境为 CentOS7,docker 19.03 之前已经说过,容器是 docker 的核心概念之一,所以对应的就需要知道它的使用方法,接下来我们就 ...

  6. 在Centos7 更改Docker默认镜像和容器的位置

    图片出处:https://bobcares.com/wp-content/uploads/docker-change-directory.jpg 一.Why? 通常,当你开始使用docker时,我们并 ...

  7. CentOS7更改Docker默认镜像和容器存储位置

    图片出处:https://bobcares.com/wp-content/uploads/docker-change-directory.jpg 一.Why? 通常,当你开始使用docker时,我们并 ...

  8. docker初次体验-管理MySQL+tomcat镜像

    引言 平时经常用linux,我没少吃苦后悔linux没好好研究研究.装一些软件配一些环境时很是害怕,多亏有了docker.docker是一个应用容器引擎,可以管理很多的软件镜像,这些镜像被官方放在了d ...

  9. docker部署项目,对镜像,容器的操作

    服务器上的项目访问不了,所以我去看了看容器,果然 那我就删除容器呗 :docker rm 容器id docker rm f097e24a9a0f 说明:从镜像到容器,同一个镜像构建多个运行的 Dock ...

随机推荐

  1. SQL Server 索引优化-----数据库引擎优化顾问

    本文将根据“数据库引擎优化顾问”(DTA)来发现无用或缺失的索引. 要使用“数据库引擎优化顾问”,首先需要对数据库负载进行监控,为数据库负载分析准备数据.从SSMS的工具中,打开SQL Server  ...

  2. Windows中的消息与消息队列

    消息 在Windows中,消自由MSG结构体表示 typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lPar ...

  3. Java调用WebService方法总结(4)--Axis调用WebService

    Axis是比较常用的WebService框架,该项目在2006实现了最终版,后面就没有更新了.文中demo所使用到的软件版本:Java 1.8.0_191.Axis 1.4. 1.准备 参考Java调 ...

  4. Javap与JVM指令

    一.javap命令简述 javap是jdk自带的反解析工具.它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令).本地变量表.异常表和代码行偏移量映射表.常量池等等信息.当 ...

  5. js 算法,数组排序

    冒泡排序.给数组按数字从小到大依次排序 arr = [1, 6, 7, 8, 9, 5, 18]; //最外层指针i从左到右依次循环指向,当最内层的指针循环一圈后,指针i才指向下个位置 //最内层指针 ...

  6. CSS是什么

    css是层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言. CSS不 ...

  7. centOS学习part7:Oracle开机自启配置

    0 上一章(http://www.cnblogs.com/souvenir/p/3884904.html)我们用了很多时间以及很长的篇幅来介绍oracle的整个安装过程,希望对大家用所帮助.oracl ...

  8. Linux下MySQL的数据文件存放在哪里的??

    http://bbs.csdn.net/topics/390620630 mysql> show variables like '%dir%';+------------------------ ...

  9. MySQL DataType--日期格式

    在MySQL中,无论是字符串转换为时间还是时间转换为字符串,都需要使用到时间格式: %a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) % ...

  10. MySQL Transaction--网络丢包导致长时间未提交事务

    TCP三次握手(Three-Way Handshake) 建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立. TCP三次握手:第一次握手:Client将标志位SYN置为1,随机产 ...