Docker简易教程 - 教程
文章目录
Docker 教程
[!NOTE]
本文主要叙述最常用的命令~
可用
--help查看用法~对于本文中未提及 或 有误地方,请大家评论~
一种软件部署技术,利用容器化技术为应用程序封装独立的运行环境,每个运行环境即为一个容器,承载容器运行的计算机称为宿主机。就是Docker
- 容器的模版就是镜像:
- 容器:是基于镜像运行的应用程序实例,进程,相互独立
- 仓库:存放和分享 Docker 镜像的场所,Docker Hub
Docker技术原理简述:
- ControlGroups:用于限制和隔离进程的资源使用,确保容器资源消耗不影响宿主或其它容器
- NameSpaces:用于隔离进程的资源视图,使得容器只能看到自己内部的进程ID、网络资源和文件目录,而看不到宿主机的
- Docker 容器本质上是一个特殊的进程,但进入容器内部后,其表现如同一个独立的操作系统
安装 & 设置
Ubuntu22.04
访问 get.docker.com获取安装脚本
下载脚本
curl -fsSL https://get.docker.com -o install-docker.sh安装
sudo sh install-docker.sh修改配置文件
sudo vim /etc/docker/daemon.json{ "registry-mirrors": [ "https://docker.registry.cyou", "https://docker-cf.registry.cyou", "https://dockercf.jsdelivr.fyi", "https://docker.jsdelivr.fyi", "https://dockertest.jsdelivr.fyi", "https://mirror2.aliyuncs.com", "https://dockerproxy.com", "https://mirror.baidubce.com", "https://docker.m.daocloud.io", "https://docker.nju.edu.cn", "https://docker.mirrors.sjtug.sjtu.edu.cn", "https://docker.mirrors.ustc.edu.cn", "https://mirror.iscas.ac.cn", "https://docker.rainbond.cc" ] }重启 Docker 服务
sudo systemctl daemon-reloadsudo systemctl restart docker
Docker 镜像管理命令
docker pull [registry_address/][namespace/]<image_name>[:tag]:下载镜像registry_address:Docker 仓库的注册表地址。docker.io是 Docker Hub 官方仓库,可省略namespace:命名空间,通常是作者或组织名称。library是 Docker 官方仓库的命名空间,可省略image_name:镜像的名称tag:镜像的标签名,通常表示版本号。latest表示最近版本,可省略
docker images:列出本地镜像docker rmi <image_name/id>:删除本地镜像-f:强制删除正在运行
Docker 容器管理命令
docker run:创建并运行容器,如果本地不存在指定镜像,会先自动拉取镜像-d:让容器在后台执行,不阻塞当前终端窗口-p <宿主机端口>:<容器内部端口>:端口映射Docker 容器运行在独立的虚拟网络环境中,默认无法直接从宿主机访问容器内部网络,桥接模式
-e <K>:<V>:环境变量,向容器内部传递环境变量,在 Docker Hub 镜像文档中查看--name:指定自定义、在宿主机上唯一的名称-it:让控制台进入容器内部,获得一个交互式的命令行环境docker run -it <image_name> /bin/bash
--rm:当容器停止时,自动将其从宿主主机上删除。与-it联用,用于临时调试场景--restart:配置容器停止时的重启行为always:只要容器停止,就立即重启unless-stopped:除非手动停止容器,否则都会尝试重启
-v:将宿主机的文件目录与容器内的文件目录绑定,持久化-v <宿主机目录路径>:<容器内部目录路径>:绑定挂载-v <卷名称>:<容器内部目录路径>:命名卷挂载
docker ps:查看正在运行的容器-a:查看所有容器(正在运行、已停止)
docker rm <container_name/id>:删除容器
容器的启停与管理:
docker start <container_name/id>:重启一个已停止容器容器的配置信息与
docker run时一致docker create <container_name>:只创建容器,并不启动,需要通过docker start启动docker stop <container_name/id>:停止一个正在运行容器docker inspect <container_name/id>:查看容器详细配置信息
卷管理命令:
docker volume create <volume_name>:创建挂在卷docker volume inspect <volume_name>:查看详细信息docker volume ls:列举已有卷docker volume rm <volume_name>:删除卷docker volume prune -a:删除未使用卷
容器内部操作与调试:
docker logs <container_name/id>:查看容器运行日志-f:滚动查看日志,实时刷新
docker exec <container_name/id> <cmd>:在一个正在运行的容器内部执行 linux 命令docker exec -it <container_name/id> /bin/bash
Dockerfile
Dockerfile 是一个文本文件,指定制作 Docker 镜像的步骤和指令
基本结构与指令:
Docker 网络模式
- 桥接模式
- 主机模式
- 无网络模式
Docker Compose 多容器编排
docker-compose.yml
Kubernetes与Docker容器的整合
参考
- 30 分钟敏捷入门 Docker 教程
- 史上讲解最好的 Docker 教程,从入门到精通(建议收藏的教程)
- Docker 详解(保姆级安装+配置+启用教程)
- Docker快速入门上手教程(保姆式),含docker所有常用命令大全(详细)!
- 40分钟的Docker实战攻略,一期视频精通Docker

浙公网安备 33010602011771号