构建Docker容器

新建项目docker-test
image.png
在项目根目录下,新建文本文件Dockerfile,写入下面的内容

  1. FROM node:8.4
  2. COPY . /app
  3. WORKDIR /app
  4. RUN npm install --registry=https://registry.npm.taobao.org
  5. EXPOSE 3000

语句解释如下

  • FROM node:8.4:该 image 文件继承官方的 node image,冒号表示标签,这里标签是8.4,即8.4版本的 node。
  • COPY . /app:将当前目录下的所有文件(除了.dockerignore排除的路径),都拷贝进入 image 文件的/app目录。
  • WORKDIR /app:指定接下来的工作路径为/app。
  • RUN npm install:在/app目录下,运行npm install命令安装依赖。注意,安装后所有的依赖,都将打包进入 image 文件。
  • EXPOSE 3000:将容器 3000 端口暴露出来, 允许外部连接这个端口。

创建image(镜像)文件

  1. docker image build -t docker-test .
  • -t参数:用来指定image文件的名字
  • . 参数:一定不要忘记有个点,表示Dockerfile所在的路径

注意:如果不指定标签信息,默认为latest

查看新生成的image文件

  1. docker image ls

或者

  1. docker images

示例
image.png

生成container(容器)

  1. docker container run -p 8000:3000 -it docker-test /bin/bash

语句解释如下

  • -p参数:容器的 3000 端口映射到本机的 8000 端口
  • -it参数:容器的 Shell 映射到当前的 Shell,然后在本机窗口输入的命令,就会传入容器
  • /bin/bash:容器启动以后,内部第一个执行的命令

现在docker-test已经运行起来了,在浏览器打开http://127.0.0.1:8000