Docker构建nodejs镜像


步骤:

1.创建Dockerfile

FROM node:10-alpine    #基镜像
RUN mkdir -p /src/app   #构建镜像的过程中run mkdir -p /src/app命令来创建/src/app文件夹
WORKDIR /src/app        #将/src/app镜像设置为工作目录
COPY package.json /src/app/package.json #(构建镜像时会将当前目录下的所有文件copy到docker daemon去,这个叫上下文环境。此处COPY package.json /src/app/package.json是指将上下文环境下的package.json拷贝到/src/app里去)
RUN npm install   #构建镜像时运行npm install
COPY . /src/app   #构建镜像时将上下文环境下的(即docker daemon里的当前目录)copy到/src/app里去, .dockerignore让指定文件或文件夹不要被upload上去
EXPOSE 3000       #容器的对外暴露端口是3000
CMD ["npm", "start"]#容器启动后的初始命令

2. 构建镜像:

     docker build -t my-nodejs-app . -f  Dockerfile   #这里的. 不要漏掉,指的是dockerfile所在的当前目录,docker引擎会将当前目录下的所有文件传给docker daemon  -f 为指定dockerfile的路径

3. 构建镜像成功后可以通过docker image |grep '镜像名' 来查看

4. 生成容器container

    docker run -d --name my-nodejs-app -p 3000:3000 my-nodejs-app  

  以上命令中,-d表示在后台运行

                       --name 表示生成的容器的名字

                       -p表示将host上的端口映射到容器的端口上,前面的是host的端口,后面的是容器的端口

                        最后的my-nodejs-app是镜像名

 5. docker ps 来查看容器,如果容器没有显示,用docker ps -a来查看

    

 如上图, 容器的状态是exited (1)表明容器没有正常启动

6.检查log查看容器没有正常启动的原因:

    docker container logs 886c82145c8b

7.启动容器

   docker container start 886c82145c8b

8.重启容器

   docker container restart 886c82145c8b

9.停止容器

   docker container stop 886c82145c8b

10.进入容器

     docker exec -it 886c82145c8b 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM