一、安装dockerhttps://yeasy./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 wwwecho '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./content-4-673851.html |
|