写点什么

K8S 学习指南 (2)-docker 的基本使用

作者:俞兆鹏
  • 2024-01-05
    新疆
  • 本文字数:1664 字

    阅读完需:约 5 分钟

K8S学习指南(2)-docker的基本使用

引言

Docker 是一款开源的容器化平台,允许开发者将应用程序及其依赖项打包为一个轻量级、可移植的容器。这种容器化技术使得应用程序在不同环境中能够更加一致、可靠地运行。本教程将深入介绍 Docker 的使用方法,包括容器的创建、管理、网络配置、数据卷使用以及 Docker Compose 的应用。

安装 Docker

在开始使用 Docker 之前,首先需要在相应的操作系统上安装 Docker。你可以按照上一篇教程中提到的步骤在 Windows、Ubuntu 和 CentOS 等操作系统上完成安装。安装完成后,我们可以开始学习 Docker 的基本使用。

Docker 基本概念

1. 镜像(Images)

Docker 镜像是一个轻量级、独立、可执行的软件包,包含运行某个应用所需的所有内容,包括代码、运行时、库、环境变量和配置文件。

示例:拉取并运行一个 Nginx 镜像

# 拉取 Nginx 镜像docker pull nginx
# 运行 Nginx 容器docker run -d -p 8080:80 --name mynginx nginx
复制代码

2. 容器(Containers)

Docker 容器是 Docker 镜像的运行实例。容器包含了应用程序及其依赖项,能够在任何环境中运行。

示例:查看运行中的容器

# 列出所有运行中的容器docker ps
复制代码

3. 仓库(Repository)

Docker 仓库是用于存储和分享 Docker 镜像的地方。官方仓库是 Docker Hub,你也可以使用私有仓库。

示例:推送镜像到 Docker Hub

# 登录 Docker Hubdocker login
# 标记本地镜像docker tag mynginx yourusername/mynginx
# 推送镜像到 Docker Hubdocker push yourusername/mynginx
复制代码

容器的基本操作

1. 创建容器

示例:创建一个带有自定义内容的容器

# 创建一个数据卷docker volume create mydata
# 运行容器并挂载数据卷docker run -d -v mydata:/app --name mycontainer nginx
复制代码

2. 进入容器

示例:在运行中的容器中执行命令

# 进入正在运行的容器docker exec -it mycontainer bash
# 在容器中执行命令ls /appexit
复制代码

3. 停止和删除容器

示例:停止和删除容器

# 停止容器docker stop mycontainer
# 删除容器docker rm mycontainer
复制代码

网络配置

Docker 允许你自定义容器的网络设置,包括使用不同的网络模式、暴露端口等。

1. 创建自定义网络

示例:创建一个自定义网络并运行容器

# 创建自定义网络docker network create mynetwork
# 运行容器并加入自定义网络docker run -d --name mycontainer --network mynetwork nginx
复制代码

2. 暴露端口

示例:暴露容器端口

# 运行容器并映射主机端口到容器端口docker run -d -p 8080:80 --name mynginx nginx
复制代码

数据卷的使用

Docker 数据卷允许容器之间共享数据,并且数据在容器之间持久化存储。

1. 创建数据卷

示例:创建一个数据卷并挂载到容器

# 创建一个数据卷docker volume create myvolume
# 运行容器并挂载数据卷docker run -d --name mycontainer -v myvolume:/app nginx
复制代码

2. 数据卷容器

示例:使用数据卷容器进行数据共享

# 创建数据卷容器docker run -d --name datavolume -v /data busybox
# 运行应用容器并挂载数据卷容器docker run -d --volumes-from datavolume --name appcontainer nginx
复制代码

Docker Compose

Docker Compose 允许你使用 YAML 文件定义和运行多个容器,简化多容器应用的管理。

1. 编写 Docker Compose 文件

创建一个名为 docker-compose.yml 的文件,定义你的应用服务:


version: '3'services:  web:    image: nginx    ports:      - "8080:80"  app:    image: myapp    ports:      - "5000:5000"
复制代码

2. 启动 Docker Compose

运行以下命令启动 Docker Compose:


docker-compose up -d
复制代码

3. 关闭 Docker Compose

运行以下命令停止 Docker Compose:


docker-compose down
复制代码

高级主题

1. Docker Swarm

Docker Swarm 允许你将多个 Docker 主机组成一个集群,实现容器的高可用性和负载均衡。

2. Docker 插件

Docker 插件允许你扩展 Docker 功能,例如存储驱动程序、网络驱动程序等。

总结

通过这份 Docker 使用教程,你应该已经学会了 Docker 的基本概念、容器的基本操作、网络配置、数据卷的使用、Docker Compose 的应用,以及一些高级主题。Docker 的强大之处在于其轻量级、灵活性和可移植性,它为开发者提供了一种便捷的方式

用户头像

俞兆鹏

关注

还未添加个人签名 2020-07-20 加入

一个程序员

评论

发布
暂无评论
K8S学习指南(2)-docker的基本使用_俞兆鹏_InfoQ写作社区