成都网站制作推来客网站系统,情侣手表网站,做竞价改网站可以吗,企业网网站软件开发最大的麻烦事之一#xff0c;就是环境配置。用户必须保证操作系统的设置#xff0c;各种库和组件的安装#xff0c;只有它们都正确#xff0c;软件才能运行。docker从根本上解决问题#xff0c;软件安装的时候#xff0c;把原始环境一模一样地复制过来。 以 koa-… 软件开发最大的麻烦事之一就是环境配置。用户必须保证操作系统的设置各种库和组件的安装只有它们都正确软件才能运行。docker从根本上解决问题软件安装的时候把原始环境一模一样地复制过来。 以 koa-demos 项目为例介绍怎么写 Dockerfile 文件实现让用户在 Docker 容器里面运行 Koa 框架。准备工作下载源码git clone https://github.com/ruanyf/koa-demos.git cd koa-demos
1、编写 Dockerfile 文件 首先在项目的根目录下新建一个文本文件.dockerignore写入下面的内容。
.git node_modules npm-debug.log 上面代码表示这三个路径要排除不要打包进入image文件。如果你没有路径要排除这个文件可以不新建。 然后在项目的根目录下新建一个文本文件 Dockerfile写入下面的内容。
FROM node:8.4
COPY . /app WORKDIR /app
RUN npm install --registryhttps://registry.npm.taobao.org
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 端口暴露出来 允许外部连接这个端口。
2、创建 image 文件 有了 Dockerfile 文件以后就可以使用docker image build命令创建 image 文件了。
docker image build -t koa-demo .
# 或者
docker image build -t koa-demo:0.0.1 . 终端打印执行过程 上面代码中-t参数用来指定 image 文件的名字后面还可以用冒号指定标签。如果不指定默认的标签就是latest。最后的那个点表示 Dockerfile 文件所在的路径上例是当前路径所以是一个点。 如果运行成功就可以看到新生成的 image 文件koa-demo了。
docker image ls
3、生成容器 docker container run命令会从 image 文件生成容器。
docker container run -p 8000:3000 -it koa-demo /bin/bash
# 或者
docker container run -p 8000:3000 -it koa-demo:0.0.1 /bin/bash 如果一切正常运行上面的命令以后就会返回一个命令行提示符。
root66d80f4aaf1e:/app# 这表示你已经在容器里面了返回的提示符就是容器内部的 Shell 提示符。执行下面的命令。
root66d80f4aaf1e:/app# node demos/01.js 这时Koa 框架已经运行起来了。打开本机的浏览器访问 http://127.0.0.1:8000网页显示Not Found这是因为这个 demo 没有写路由。
4、CMD 命令 上一节的例子里面容器启动以后需要手动输入命令node demos/01.js。我们可以把这个命令写在 Dockerfile 里面这样容器启动以后这个命令就已经执行了不用再手动输入了。
FROM node:8.4
COPY . /app WORKDIR /app
RUN npm install --registryhttps://registry.npm.taobao.org
EXPOSE 3000
CMD node demos/01.js # 容器启动后执行命令一个容器只能有一个CMD命令. 上面的 Dockerfile 里面多了最后一行CMD node demos/01.js它表示容器启动后自动执行node demos/01.js。 注意指定了CMD命令以后docker container run命令就不能附加命令了比如前面的/bin/bash否则它会覆盖CMD命令。现在启动容器可以使用下面的命令。
docker container run --rm -p 8000:3000 -it koa-demo:0.0.1
5、测试demo 在ubuntu 21.04最小系统上运行hello.sh文件运行方式./hello.sh文件内容
#hello.sh
echo hello docker Dockerfile基本结构
FROM ubuntu:21.04
ADD hello.sh /
CMD [./hello.sh] 镜像的构建-ttag指定镜像名称和版本
docker image build -t hello.sh:1.0 . 构建过程截图