Docker入门使用指南

默认文件1618669737206.png

内容摘录自开课吧学习资料

1. 入门使用:

必会命令

  1. 拉取镜像: docker pull nginx
  2. 查看镜像: docker images/docker images nginx
  3. 启动镜像(将www目录和nginx/html进行映射):
    1. 前台启动: docker run -p 8000:80 -v $PWD/www:/usr/share/nginx/html nginx
    2. 后台启动: docker run -d -p 8000:80 -v $PWD/www:/usr/share/nginx/html nginx
  4. 容器存在: docker start <容器ID>
  5. 停止容器: docker stop <容器ID>
  6. 查看运行进程: docker ps
  7. 进入容器: docker exec -it <容器ID> /bin/bash
  8. 删除容器: docker rm <容器ID>

2. 定制镜像

案例1(Nginx):

  1. 创建Dockerfile文件
# 镜像内容
FROM nginx:latest
RUN echo '<h1>Hello Docker</h1>' > /usr/share/nginx/html/index.html
  1. 编译
//docker build -t <定制镜像名> 当前目录
docker build -t nginx:ospoon .
  1. 启动
docker run -p 8000:80 nginx:ospoon

案例2(Node):

  1. 创建目录: mkdir node-koa
  2. 初始化: cd node-koa & npm i koa -S
  3. 创建koa服务:
const Koa = require("koa");
const app = new Koa();
app.use((ctx) => {
ctx.body = "Hello NodeJs";
});
app.listen(3000, () => {
console.log("app started at 3000");
});
  1. 编写Dockerfile
FROM node:10-alpine
# 拷贝当前目录到容器/app目录
ADD . /app/
# 进入工作目录
WORKDIR /app
# docker build 过程中运行
RUN npm install
# 暴露端口
EXPOSE 3000
# 容器运行时执行
CMD ["node","app.js"]
  1. 编译镜像: docker build -t node-koa .
  2. 启动: docker run -d -p 3000:3000 node-koa

案例3(pm2):

  1. 拷贝案例2: cp -R node-koa pm2-koa
  2. 编写pm2相关的yml文件
apps:
- script: app.js
# 进程数
instances: 2
# 监听模式
watch: true
env:
# 运行环境
NODE_ENV: production
  1. 编写Dockerfile
FROM keymetrics/pm2:latest-alpine
# 工作目录
WORKDIR /usr/src/app
ADD . /usr/src/app
# 通过 && \ 连接两条命令
RUN npm config set registry https://registry.npm.taobao.org/ && \
npm i
# 暴露端口
EXPOSE 3000
# pm2在docker中的使用命令为pm2-docker
CMD ["pm2-runtime","start","process.yml"]
  1. 编译镜像: docker build -t pm2-koa .
  2. 启动: docker run -d -p 3000:3000 pm2-koa

3. docker-compose

负责实现对Docker容器集群的快速编排

案例:

  1. 编写配置文件: docker-compose.yml
# docker-compose.yml mongo + mongo-express
version: '3.1'
services:
mongo:
image: mongo
restart: always
ports:
- 27017:27017
mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
  1. 运行: docker-compose up
posted @   前端小鑫同学  阅读(11)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示