Docker入门使用指南

简介: Docker入门使用指南

3.jpg


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
  1. 容器存在: docker start <容器ID>
  2. 停止容器: docker stop <容器ID>
  3. 查看运行进程: docker ps
  4. 进入容器: docker exec -it <容器ID> /bin/bash
  5. 删除容器: 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



相关文章
|
12月前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
514 2
|
3月前
|
运维 Kubernetes 开发者
解锁现代开发与部署:Docker入门指南
解锁现代开发与部署:Docker入门指南
183 100
|
1月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
4月前
|
NoSQL 安全 Redis
Docker Compose :从入门到企业级部署
Docker Compose 是用于定义和运行多容器应用的工具,支持服务、网络和卷三大核心要素。通过简洁的 YAML 文件,可实现应用的快速部署与管理,适用于开发、测试及生产环境。
318 1
|
Kubernetes Cloud Native 云计算
云原生入门:从Docker到Kubernetes的旅程
【10月更文挑战第2天】本文将带你走进云原生的世界,从基础的Docker容器技术开始,逐步深入到Kubernetes集群管理。我们将通过实际代码示例,探索如何利用这些工具构建、部署和管理现代云应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识和技能,让你在云原生领域迈出坚实的一步。
247 5
|
8月前
|
Ubuntu Linux Docker
Docker 入门全攻略:安装、操作与常用命令指南
Docker 的世界非常广阔,这只是一个开始,请继续探索和学习 Docker 的高级特性和最佳实践。后续也会继续更新相关的理论与实践内容。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
11月前
|
Ubuntu 应用服务中间件 nginx
docker入门-快速学会docker
本文介绍了Docker的基本概念,包括镜像、容器、tar文件、Dockerfile和仓库,并通过实际操作演示了如何使用Docker。从拉取Nginx镜像、运行容器、修改容器内容、保存容器为新镜像,到使用Dockerfile构建自定义镜像,最后讲解了如何保存和恢复镜像。文中还推荐了一个在线实践平台Play with Docker,方便读者快速上手Docker。
929 5
docker入门-快速学会docker
|
Linux 持续交付 Docker
掌握Docker:从入门到实践
Docker 是一个开源容器引擎,允许开发者将应用及其依赖打包成可移植的容器,在任意 Linux 机器上运行。本文从基本概念入手,详细介绍 Docker 的安装、基本操作、镜像构建及 Docker Compose 的使用,并通过实战案例展示如何部署 Web 应用、构建微服务架构及实现 CI/CD。通过学习,你将掌握 Docker 的核心功能,提升应用开发和部署效率。
|
12月前
|
Kubernetes Linux Docker
容器化技术Docker入门与实践
容器化技术Docker入门与实践
188 20
|
12月前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。