我的网站开发技术经验总结 我的网站开发技术经验总结
首页

fangdown

我的网站开发技术经验总结
首页
  • 大前端

    • nodejs

    • git

    • CI

    • 小程序

    • docker

      • 简单描述docker的使用
        • 是什么
        • 怎么用
        • 原理
        • FAQ
      • docker命令汇总
    • Typescript

    • webpack

    • 安全

  • 基础

  • 框架

  • 情商

  • 算法

  • 网络

  • 千锤百炼
  • 大前端
  • docker
fangdown
2021-08-05
目录

简单描述docker的使用

# 是什么

Docker 是一个由 go 语言编写的,开源的应用容器引擎。

# 怎么用

  1. 创建koa-server
  # 新建文件夹
  mkdir koa-server
  # 进入
  cd koa-server
  # 项目初始化,生成package.json
  npm init -y
  # 安装koa
  npm i koa
  # 新建app.js
  touch app.js
  # 在app.js中写入如下代码
  const Koa=require('koa')
  const app=new Koa()
  app.use(ctx=>{
      ctx.body='hello koa'
  })
  app.listen(3000,()=>{
      console.log('run server__')
  })
  1. 编写Dockfile文件,根据其描述构建镜像
  # 新建Dockerfile文件
  touch Dockerfile
  # 写入如下内容
  FROM node:12.20.1
  COPY . /app
  WORKDIR /app
  RUN npm i
  EXPOSE 3000

命令解释

  • 指定基础镜像为 node,冒号表示标签,此处指的是 12.20.1 版本的 node
  • 将当前目录下的所有(非.dockerignore 排除)文件,都拷贝进入镜像文件的/app 目录。
  • 指定工作路径为/app。
  • 安装依赖(安装后所有的依赖,都将打包进入镜像文件)。
  • 将容器 3000 端口暴露出来, 允许外部连接这个端口。
  1. 编写.dockerignore 排除文件
# 新建.dockerignore排除文件
touch .dockerignore
# 写入如下内容
node_modules
  1. 构建镜像 koa-server 根目录下执行如下命令构建镜像:
docker image build -t koa-server-image .
  • -t 用于指定构建的镜像名,后面可用冒号指定标签名,默认 latest
  • 最后的那个点表示 Dockerfile 文件所在的路径,因为是进入 koa-server 后执行的构建命令,所以是当前目录,可以看成是./
  • 同镜像同标签或不指定标签多次构建会是同一个
  • 镜像构建完成后可用 docker image ls 命令查看镜像列表
  1. 启动容器 镜像,容器,应用程序三者关系是:镜像是容器启动的先决条件,容器中运行着真正的应用程序。
docker container run -p 3000:3000  -it  koa-server-image /bin/bash
  • -p 参数就是用于指定端口映射,格式为主机端口:容器端口
  • -it 参数一般配合使用,生成一个交互终端
  • /bin/bash 相当于在-it 参数返回的交互终端中执行/bin/bash
  • 因为是 node 环境,不加/bin/bash 效果就相当于终端输入 node 后回车的效果
  1. 效果验证 浏览器访问地址http://localhost:3000/,页面显示 hello koa

# 容器迁移

# 原理

# FAQ

#docker
上次更新: 2021/12/19, 18:05:42
说说小程序页面跳转有哪些方式
docker命令汇总

← 说说小程序页面跳转有哪些方式 docker命令汇总→

最近更新
01
多分支修复撞车的问题
05-01
02
如何成为架构师
01-23
03
服务器部署全过程
11-23
更多文章>
Theme by Vdoing | Copyright © 2019-2026 fangdown | 粤ICP备19079809号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式