Docker介绍(一)--Docker 教程

目录

 

Docker 教程

1. 安装 Docker

Linux 系统

macOS 和 Windows

2. 基本概念

3. 基本命令

拉取镜像

列出本地镜像

运行容器

列出正在运行的容器

查看所有容器(包括已停止的)

停止容器

删除容器

删除镜像

4. 构建镜像

5. Docker Compose

6. Docker Swarm

7. Docker 网络

8. Docker 安全

9. Docker 容器持久化

10. Docker 容器监控

11. Docker 与 Kubernetes

12. 实践案例

总结


 

Docker 教程

Docker 是一个开源的应用容器引擎,允许开发者打包他们的应用以及依赖包(例如库、配置文件、环境变量等)到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

1. 安装 Docker

Linux 系统

以 Ubuntu 为例:

  1. 更新系统

     
    bash

    深色版本

    1sudo apt-get update
  2. 安装必要的软件包

     
    bash

    深色版本

    1sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  3. 添加 Docker 的官方 GPG 密钥

     
    bash

    深色版本

    1curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. 设置稳定仓库

     
    bash

    深色版本

    1sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  5. 更新 apt 包索引

     
    bash

    深色版本

    1sudo apt-get update
  6. 安装 Docker CE(Community Edition)

     
    bash

    深色版本

    1sudo apt-get install docker-ce
  7. 验证安装

     
    bash

    深色版本

    1sudo systemctl status docker
  8. 加入 docker 用户组(可选,允许非 root 用户运行 Docker 命令):

     
    bash

    深色版本

    1sudo usermod -aG docker $USER

    登出并重新登录生效。

macOS 和 Windows

  1. 下载 Docker Desktop: 访问 Docker 官网下载页面 (Docker Desktop: The #1 Containerization Tool for Developers | Docker) 下载适合您操作系统的 Docker Desktop。

  2. 安装 Docker Desktop

    • 双击下载的安装包并按照提示安装。
    • 启动 Docker Desktop。

2. 基本概念

  • 镜像 (Image):Docker 镜像是创建容器的基础,相当于应用程序的模板。
  • 容器 (Container):容器是从镜像创建的运行实例。每个容器都是相互隔离的、安全的封装。
  • 仓库 (Repository):存放镜像的地方,分为公共仓库(如 Docker Hub)和私有仓库。
  • Dockerfile:一个文本文件,用于定义构建 Docker 镜像的指令。

3. 基本命令

拉取镜像

 

bash

深色版本

1docker pull <image_name>

列出本地镜像

 

bash

深色版本

1docker images

运行容器

 

bash

深色版本

1docker run -it --name <container_name> <image_name>

列出正在运行的容器

 

bash

深色版本

1docker ps

查看所有容器(包括已停止的)

 

bash

深色版本

1docker ps -a

停止容器

 

bash

深色版本

1docker stop <container_id_or_name>

删除容器

 

bash

深色版本

1docker rm <container_id_or_name>

删除镜像

 

bash

深色版本

1docker rmi <image_id_or_tag>

4. 构建镜像

使用 Dockerfile 来定义镜像构建过程:

 

dockerfile

深色版本

1# 使用基础镜像
2FROM ubuntu:latest
3
4# 设置工作目录
5WORKDIR /app
6
7# 复制文件到容器
8COPY . .
9
10# 安装依赖
11RUN apt-get update && apt-get install -y <package>
12
13# 暴露端口
14EXPOSE 80
15
16# 设置容器启动命令
17CMD ["./start.sh"]

构建 Docker 镜像:

 

bash

深色版本

1docker build -t <image_name> .

5. Docker Compose

Docker Compose 是用于定义和运行多容器 Docker 应用程序的工具。

创建 docker-compose.yml 文件:

 

yaml

深色版本

1version: '3'
2services:
3  web:
4    image: nginx
5    ports:
6      - "8080:80"
7  db:
8    image: postgres
9    environment:
10      POSTGRES_PASSWORD: example

启动服务:

 

bash

深色版本

1docker-compose up -d

停止服务:

 

bash

深色版本

1docker-compose down

6. Docker Swarm

Docker Swarm 是 Docker 的原生集群管理系统,用于协调 Docker 容器在多个主机上的调度和部署。

初始化 Swarm:

 

bash

深色版本

1docker swarm init

加入节点:

 

bash

深色版本

1docker swarm join --token <token> <master_ip>:<port>

部署服务:

 

bash

深色版本

1docker service create --replicas 3 nginx:latest

7. Docker 网络

默认情况下,Docker 容器运行在一个桥接网络中,但可以通过自定义网络来更好地控制容器间的通信。

创建网络:

 

bash

深色版本

1docker network create mynetwork

连接容器到网络:

 

bash

深色版本

1docker run -it --name mycontainer --net mynetwork nginx:latest

8. Docker 安全

  • 最小权限原则:仅授予容器必要的权限。
  • 使用非 root 用户:避免以 root 用户身份运行容器。
  • 定期更新镜像:及时更新基础镜像和应用程序。

9. Docker 容器持久化

使用卷(Volumes)来持久化数据:

创建卷:

 

bash

深色版本

1docker volume create myvolume

挂载卷:

 

bash

深色版本

1docker run -v myvolume:/data mysql:latest

10. Docker 容器监控

使用工具如 Prometheus 和 Grafana 来监控 Docker 容器的性能指标。

11. Docker 与 Kubernetes

Kubernetes 是一个用于管理和编排容器化应用程序的平台。Docker 可以作为 Kubernetes 的容器运行时。

12. 实践案例

使用 Docker 构建一个简单的 Web 应用:

  1. 创建 Dockerfile

     
    dockerfile

    深色版本

    1FROM nginx:latest
    2COPY index.html /usr/share/nginx/html/index.html
  2. 创建 index.html

     
    html

    深色版本

    1<h1>Hello, Docker!</h1>
  3. 构建镜像

     
    bash

    深色版本

    1docker build -t myweb .
  4. 运行容器

     
    bash

    深色版本

    1docker run -p 8080:80 myweb
  5. 访问 Web 应用: 访问 http://localhost:8080

总结

Docker 提供了一种轻量级、可移植的容器化解决方案,使得开发者能够轻松地打包、发布和运行应用程序。通过使用 Docker,可以简化开发流程,提高开发效率,并且使得应用程序在不同环境中具有良好的一致性和可移植性。通过本教程,你应该能够掌握 Docker 的基本使用方法,并能够利用 Docker 构建和运行自己的容器化应用程序。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值