打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用Docker部署项目

一、安装docker

  https://yeasy.gitbooks.io/docker_practice/content/install/mac.html?q=

  按照文档安装docker,并且注册账号,当电脑的右上角出现小鲸鱼的图标,且显示Docker Desktop is running,安装启动成功

二、Docker概念

  1、操作系统层面的虚拟化技术

  2、隔离的进程独立于宿主和其它的隔离的进程 - 容器

  3、GO语言开发 

  4、特点:高效的利用系统资源;快速的启动时间;一致的运行环境;持续交付和部署;更轻松的迁移

  5、核心:镜像、容器、仓库 

三、Docker构建一个Nginx服务器 

  1、拉取官方镜像 

    docker pull nginx 

  2、查看 

    docker images nginx

  3、新建文件

    mkdir www
    echo 'hello docker!!' >> www/index.html      4、启动镜像     docker run -p 80:80 -v $PWD/www:/usr/share/nginx/html -d nginx      80:80代表我的宿主机的端口:容器类的端口     如果运行结果是一串uuid,那么在浏览器打开http://localhost/会看到     
  5、查看进程     docker ps
    docker ps -a // 查看全部 

  6、 -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开,eu9是CONTAINER ID 的前三位

    docker exec -it eu9 /bin/bash 

  7、停止镜像     docker stop eu9     8、删除镜像(前提是镜像已经stop)     docker rm eu9 

  注意⚠️:也可以使用Dockerfile定制镜像 

  1、新建Dockerfile文件

FROM nginx:latest
RUN echo '<h1>Hello, Kaikeba!</h1>' > /usr/share/nginx/html/index.html

  2、定制镜像

    docker build -t mynginx . 

  3、运行:-d 守护态运行

    docker run -p 80:80 -d mynginx 

五、使用Docker定制node镜像

  1、node项目下新建Dockerfile

#制定node镜像的版本
FROM node:10-alpine #移动当前目录下面的文件到app目录下 ADD . /app/ #进入到app目录下面,类似cd WORKDIR /app
#安装依赖
RUN npm install
#对外暴露的端口
EXPOSE 3000
#程序启动脚本
CMD ["node", "app.js"]

  2、定制镜像

   docker build -t mynode . 

  3、运行:-d 守护态运行

   docker run -p 3000:3000 -d mynode

六、Docker-Compose:部署Mongo MongoExpress 

  添加docker-compose.yml

version: '3.1'
services:
  mongo:
    image: mongo
    restart: always
    ports:
      - 27017:27017
  mongo-express:
    image: mongo-express
    restart: always
    ports:
- 8081:8081
 mongoose.js代码中添加Mongoose调用
// mongoose.js
const mongoose = require("mongoose");
// 1.连接
mongoose.connect("mongodb://mongo:27017/test", { useNewUrlParser: true }); const conn = mongoose.connection;
conn.on("error", () => console.error("连接数据库失败"));

app.js

// app.js
const mongoose = require('mongoose');
mongoose.connect('mongodb://mongo:27017/test', {useNewUrlParser: true});
const Cat = mongoose.model('Cat', { name: String });
Cat.deleteMany({})
const kitty = new Cat({ name: 'Zildjian' });
kitty.save().then(() => console.log('meow'));
app.use(async ctx => {
    ctx.body = await Cat.find()
})

  运行

  docker-compose up 

  后台运行 

   docker-compose up -d 

  强制重新构建并启

  docker-compose up -d --force-recreate --build 

来源:https://www.icode9.com/content-4-673851.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
深入Docker实战(第2版):构建、部署和优化容器化应用
Docker学习笔记之--借助Docker Compose进行多容器部署(环境:centos7)
Linux通过 Docker 可以托管 .NET Core啦!
docker学习笔记
使用 docker 快速部署 hexo 博客
以严肃的方式对
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服