前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker入门使用指南

Docker入门使用指南

作者头像
前端小鑫同学
发布2022-12-24 11:44:11
4100
发布2022-12-24 11:44:11
举报
默认文件1618669737206.png
默认文件1618669737206.png

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

1. 入门使用:

必会命令

拉取镜像: docker pull nginx

查看镜像: docker images/docker images nginx

启动镜像(将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

容器存在: docker start <容器ID>

停止容器: docker stop <容器ID>

查看运行进程: docker ps

进入容器: docker exec -it <容器ID> /bin/bash

删除容器: docker rm <容器ID>

2. 定制镜像

案例1(Nginx):

创建Dockerfile文件

代码语言:javascript
复制
# 镜像内容
FROM nginx:latest
RUN echo '<h1>Hello Docker</h1>' > /usr/share/nginx/html/index.html

编译

代码语言:javascript
复制
//docker build -t <定制镜像名> 当前目录
docker build -t nginx:ospoon .

启动

代码语言:javascript
复制
docker run -p 8000:80 nginx:ospoon
案例2(Node):

创建目录: mkdir node-koa

初始化: cd node-koa &amp; npm i koa -S

创建koa服务: ```basic const Koa = require("koa"); const app = new Koa(); app.use((ctx) => { ctx.body = "Hello NodeJs"; }); app.listen(3000, () => { console.log("app started at 3000"); });

代码语言:javascript
复制
4. 编写Dockerfile
```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):
  3. 拷贝案例2: cp -R node-koa pm2-koa
  4. 编写pm2相关的yml文件 ```yaml apps:
  • script: app.js进程数 instances: 2监听模式 watch: true env:运行环境 NODE_ENV: production ```

编写Dockerfile

代码语言:javascript
复制
FROM keymetrics/pm2:latest-alpine
# 工作目录
WORKDIR /usr/src/app
ADD . /usr/src/app
# 通过 &amp;&amp; \ 连接两条命令
RUN npm config set registry https://registry.npm.taobao.org/ &amp;&amp; \
 npm i
# 暴露端口
EXPOSE 3000
# pm2在docker中的使用命令为pm2-docker
CMD ["pm2-runtime","start","process.yml"]

编译镜像: docker build -t pm2-koa .

启动: docker run -d -p 3000:3000 pm2-koa

3. docker-compose

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

案例:

编写配置文件: docker-compose.yml

代码语言:javascript
复制
# 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

运行: docker-compose up

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 入门使用:
  • 2. 定制镜像
    • 案例1(Nginx):
      • 案例2(Node):
      • 3. docker-compose
        • 案例:
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档