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

文章目录

引言

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

安装 Docker

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

Docker 基本概念

1. 镜像(Images)

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

示例:拉取并运行一个 Nginx 镜像
bash 复制代码
# 拉取 Nginx 镜像
docker pull nginx

# 运行 Nginx 容器
docker run -d -p 8080:80 --name mynginx nginx

2. 容器(Containers)

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

示例:查看运行中的容器
bash 复制代码
# 列出所有运行中的容器
docker ps

3. 仓库(Repository)

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

示例:推送镜像到 Docker Hub
bash 复制代码
# 登录 Docker Hub
docker login

# 标记本地镜像
docker tag mynginx yourusername/mynginx

# 推送镜像到 Docker Hub
docker push yourusername/mynginx

容器的基本操作

1. 创建容器

示例:创建一个带有自定义内容的容器
bash 复制代码
# 创建一个数据卷
docker volume create mydata

# 运行容器并挂载数据卷
docker run -d -v mydata:/app --name mycontainer nginx

2. 进入容器

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

# 在容器中执行命令
ls /app
exit

3. 停止和删除容器

示例:停止和删除容器
bash 复制代码
# 停止容器
docker stop mycontainer

# 删除容器
docker rm mycontainer

网络配置

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

1. 创建自定义网络

示例:创建一个自定义网络并运行容器
bash 复制代码
# 创建自定义网络
docker network create mynetwork

# 运行容器并加入自定义网络
docker run -d --name mycontainer --network mynetwork nginx

2. 暴露端口

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

数据卷的使用

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

1. 创建数据卷

示例:创建一个数据卷并挂载到容器
bash 复制代码
# 创建一个数据卷
docker volume create myvolume

# 运行容器并挂载数据卷
docker run -d --name mycontainer -v myvolume:/app nginx

2. 数据卷容器

示例:使用数据卷容器进行数据共享
bash 复制代码
# 创建数据卷容器
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 的文件,定义你的应用服务:

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

2. 启动 Docker Compose

运行以下命令启动 Docker Compose:

bash 复制代码
docker-compose up -d

3. 关闭 Docker Compose

运行以下命令停止 Docker Compose:

bash 复制代码
docker-compose down

高级主题

1. Docker Swarm

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

2. Docker 插件

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

总结

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

相关推荐
南猿北者2 小时前
docker容器
docker·容器
二十雨辰2 小时前
[linux]docker基础
linux·运维·docker
time never ceases2 小时前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle
YCyjs3 小时前
K8S群集调度二
云原生·容器·kubernetes
Hoxy.R3 小时前
K8s小白入门
云原生·容器·kubernetes
MonkeyKing_sunyuhua4 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
追风林5 小时前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
€☞扫地僧☜€6 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
茶馆大橘6 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
全能全知者7 小时前
docker快速安装与配置mongoDB
mongodb·docker·容器