一:学习步骤
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 # 重启服务