Docker学习

一:学习步骤

1. 基础知识

什么是 Docker:了解 Docker 的定义、用途和优势。Docker 是一种容器化技术,可以在不同环境中一致地运行应用程序。

容器 vs 虚拟机:理解容器与传统虚拟机的区别,容器更加轻量级,共享操作系统内核,启动速度更快。

2. 安装与设置

安装 Docker:在不同操作系统(如 Windows、macOS、Linux)上安装 Docker。官方文档提供详细的安装步骤。

基本命令:熟悉基本命令如 docker run、docker ps、docker stop、docker rm 等,用于管理和操作容器。

3. 镜像管理

Docker 镜像:理解镜像的概念,如何从 Docker Hub 获取镜像,使用 docker pull 命令。

创建镜像:学习使用 Dockerfile 来创建自定义镜像,了解 Dockerfile 的基本语法和指令如 FROM、RUN、COPY、EXPOSE 等。

镜像操作:掌握 docker build、docker commit 等命令,用于构建和管理镜像。

4. 容器操作

启动与管理容器:使用 docker run 启动容器,理解常用参数如 -d(后台运行)、-p(端口映射)、-v(卷挂载)等。

容器生命周期:学习如何停止、启动、重启和删除容器,使用 docker stop、docker start、docker restart、docker rm 等命令。

5. 数据管理

数据卷(Volumes):理解数据卷的概念及其用途,用于持久化和共享数据。学习使用 docker volume create、docker volume ls 等命令管理数据卷。

挂载卷:在容器运行时挂载数据卷,通过 -v 参数实现数据持久化。

6. 网络管理

网络模型:了解 Docker 提供的网络模式(桥接网络、主机网络、覆盖网络等)。

容器互联:学习如何配置和管理容器间的网络通信,通过 docker network 命令创建和管理自定义网络。

7. Docker Compose

Compose 基本概念:理解 Docker Compose 用于定义和管理多容器应用的 YAML 文件格式。

编写 Compose 文件:学习编写 docker-compose.yml 文件,定义多个服务及其依赖关系。

Compose 命令:掌握 docker-compose up、docker-compose down、docker-compose logs 等命令。

8. 实践与应用

实际项目应用:在实际项目中使用 Docker,练习将应用容器化,测试、部署和维护容器化应用。

CI/CD 集成:了解如何在持续集成和持续部署(CI/CD)流程中集成 Docker,实现自动化构建、测试和部署。

9. 进阶主题

Docker Swarm:学习 Docker 的原生编排工具 Swarm,实现容器集群管理。

Kubernetes:深入学习 Kubernetes,掌握其架构、核心概念和基本操作。

通过上述步骤,逐步深入 Docker 的核心内容,从基础知识到实际操作,再到进阶应用,全面掌握 Docker 技术。

二:ubuntu环境下的Docker安装

ARM架构Ubuntu安装docker遇到的问题解决!

报错:

Failed to connect to download.docker.com port 443: Connection timed out

gpg: no valid OpenPGP data found.

更新你的现有列表包

sudo apt-get update

安装一些必要的系统工具

sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \curl \
    software-properties-common

添加Docker官方GPG密钥(如果之前添加过可以跳过)

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

添加Docker官方软件源,注意这里的arch=后面的参数,也就是arm和x86对应的是不同的值

sudo add-apt-repository \
   "deb [arch=arm64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

再次更新你的包列表

sudo apt-get update

现在,可以安装Docker了:

sudo apt-get install docker-ce

验证是否成功安装了docker:

docker --version

然后尝试拉取 hub.docker.com 的镜像 发现 速度龟速,因为是海外 有墙,所以配置镜像加速器

修改Docker配置文件。如果系统为Ubuntu 16.04+、Debian 8+、CentOS 7、Fedora 24+、RedHat 7+等,请修改/etc/docker/daemon.json文件(如果该文件不存在,请新建)

vim /etc/docker/daemon.json

然后添加如下内容

{
  "registry-mirrors": ["https://b2w3942p.mirror.aliyuncs.com"]
}



/***
**如果提示没有权限修改,就利用下面的指令修改
**/

:w !sudo tee % 

然后重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

再运行下面的指令看docker是否启动

sudo systemctl status docker

效果如下:

三:Docker常用指令汇总

基本命令

sudo apt-get install docker-ce    # 安装 Docker
docker --version                  # 查看 Docker 版本
docker --help                     # 获取帮助

镜像管理

docker pull <image_name>          # 拉取镜像
docker images                     # 列出本地镜像
docker rmi <image_id>             # 删除本地镜像
docker search <term>              # 搜索镜像
docker build -t <image_name> <path_to_dockerfile>    # 构建镜像

容器管理

docker run -d --name <container_name> <image_name>    # 运行容器
docker ps                      # 列出运行中的容器
docker ps -a                   # 列出所有容器(包括停止的)
docker stop <container_id>     # 停止容器
docker start <container_id>    # 启动已停止的容器
docker rm <container_id>       # 删除容器
docker logs <container_id>     # 查看容器日志
docker exec -it <container_id> /bin/bash    # 进入正在运行的容器
docker export <container_id> -o <file_name>.tar    # 导出容器
cat <file_name>.tar | docker import - <image_name>    # 导入容器

网络管理

docker network ls                  # 列出 Docker 网络
docker network create <network_name>    # 创建 Docker 网络
docker network connect <network_name> <container_id>    # 连接容器到网络
docker network disconnect <network_name> <container_id>    # 断开容器与网络的连接
docker network rm <network_name>    # 删除 Docker 网络

数据卷管理

docker volume create <volume_name>    # 创建数据卷
docker volume ls                      # 列出数据卷
docker run -d -v <volume_name>:/path/in/container <image_name>    # 挂载数据卷到容器
docker volume rm <volume_name>    # 删除数据卷

Docker Compose

docker-compose up                  # 启动服务
docker-compose up -d               # 在后台启动服务
docker-compose down                # 停止服务
docker-compose logs                # 查看服务日志
docker-compose restart             # 重启服务

四:Docker可视化工具

五:Docker Compose

相关推荐
XD7429716364 分钟前
如何知道docker谁占用的显卡的显存?
运维·docker·容器
h_and_g30 分钟前
通过docker启动Jenkins容器报错
java·docker·jenkins
胜天半子祁厅43 分钟前
Python学习打卡:day15
windows·python·学习
EterNity_TiMe_1 小时前
机器学习引领教育革命:智能教育的新时代
人工智能·学习·机器学习·性能优化·机器人
Zwq80235201 小时前
JavaScript高级程序设计(第四版)--学习记录之迭代器与生成器(下)
学习
阳爱铭1 小时前
Kubernetes (K8s) 深度分析与选型指南
java·大数据·分布式·后端·云原生·容器·kubernetes
周末不工作1 小时前
单片机的学习(15)--LCD1602
单片机·学习·mongodb
InterestingFigure1 小时前
软件测试学习笔记丨JUnit5标记测试用例
笔记·学习·测试用例
黄鹂绿柳1 小时前
匈牙利命名法,类变量
学习
90后嫩男2 小时前
RStudio学习笔记(三):其他数据结构
学习·r语言