首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第7章Docker容器
7.1容器的定义
7.2容器和虚拟机的区别
7.3Docker是什么
7.4Docker的优势
7.4.1环境一致性
7.4.2资源隔离和限制
7.4.3快速部署
7.5Docker镜像
7.6Docker 为什么火起来了
7.7Docker安装部署
7.7.1Docker在Linux上的部署
7.7.2Docker在Windows上的部署
7.7.3Docker在MAC上的部署
7.8Docker常用命令
7.9Dockerfile
7.10Docker进阶
7.10.1Direct-lvm
7.10.2高级命令
7.10.3Docker注意事项
7.10.4Docker接口调用
7.10.5Docker的网络方案
7.10.6Docker安全
7.11Docker架构和源码分析
7.11.1Docker 架构分析
7.11.2runc源码分析
7.11.3镜像构建源码分析
7.12Pouch
7.13Kata containers
7.14Go语言
第8章Docker实现原理
8.1cgroup
8.1.1CPU
8.1.2内存
8.1.3磁盘
8.1.4PID
8.2namespace
8.2.1PID namespace
8.2.2Network namespace
8.2.3UTS namespace
8.2.4IPC namespace
8.2.5Mount namespace
8.3Union Filesystem
8.4chroot和pivot_root
8.550行代码创建一个简单的容器
当前位置:
首页>>
技术小册>>
云计算那些事儿:从IaaS到PaaS进阶(三)
小册名称:云计算那些事儿:从IaaS到PaaS进阶(三)
### 7.8 Docker常用命令 在深入探讨Docker作为容器化技术的核心力量时,掌握其常用命令是每位开发者、运维人员乃至云架构师不可或缺的技能。Docker通过一系列简洁而强大的命令,让容器的创建、管理、部署和监控变得前所未有的高效与灵活。本章将详细介绍Docker的一些常用命令,帮助读者快速上手并深入理解Docker的强大功能。 #### 7.8.1 准备工作 在开始之前,请确保你的系统已经安装了Docker。Docker的安装方法因操作系统而异,但大多数Linux发行版、MacOS和Windows 10及更高版本都提供了官方或社区支持的Docker安装包。安装完成后,通常可以通过在终端或命令提示符中输入`docker --version`来检查Docker是否安装成功及其版本信息。 #### 7.8.2 Docker镜像操作 ##### 搜索镜像 - **命令**:`docker search [关键词]` - **描述**:用于在Docker Hub(或配置的其他仓库)中搜索镜像。例如,`docker search nginx`会列出所有与nginx相关的镜像。 - **选项**:可以使用`--filter`选项来过滤搜索结果。 ##### 拉取镜像 - **命令**:`docker pull [镜像名]:[标签]` - **描述**:从Docker Hub或其他配置的仓库中下载并安装镜像。如果未指定标签,默认使用`latest`。例如,`docker pull ubuntu:20.04`会下载并安装Ubuntu 20.04的镜像。 ##### 查看本地镜像 - **命令**:`docker images` - **描述**:列出本地所有镜像及其相关信息,包括镜像ID、创建时间、大小等。 - **选项**:使用`-a`(或`--all`)选项显示所有镜像(包括中间层镜像),使用`-q`(或`--quiet`)仅显示镜像ID。 ##### 删除镜像 - **命令**:`docker rmi [镜像ID/镜像名:标签]` - **描述**:删除一个或多个本地镜像。如果镜像被容器使用,则无法直接删除,需要先删除相关容器或强制删除(慎用)。 - **选项**:使用`-f`(或`--force`)强制删除镜像,即使镜像被容器使用。 #### 7.8.3 Docker容器操作 ##### 创建并启动容器 - **命令**:`docker run [选项] 镜像名 [命令]` - **描述**:根据指定的镜像创建一个新的容器并启动它。如果镜像本地不存在,Docker会尝试从配置的仓库中拉取。 - **常用选项**: - `-d` 或 `--detach`:在后台运行容器并打印容器ID。 - `-p` 或 `--publish`:端口映射,格式为`宿主机端口:容器端口`。 - `-e` 或 `--env`:设置环境变量。 - `--name`:为容器指定一个名称。 ##### 查看正在运行的容器 - **命令**:`docker ps` - **描述**:列出当前正在运行的容器。 - **选项**:使用`-a`(或`--all`)列出所有容器(包括未运行的),使用`-q`仅显示容器ID。 ##### 停止容器 - **命令**:`docker stop [容器ID/容器名]` - **描述**:优雅地停止一个或多个正在运行的容器。Docker会先向容器发送SIGTERM信号,等待一段时间后(默认为10秒),再发送SIGKILL信号强制停止容器。 ##### 启动已停止的容器 - **命令**:`docker start [容器ID/容器名]` - **描述**:启动一个或多个已停止的容器。 ##### 重启容器 - **命令**:`docker restart [容器ID/容器名]` - **描述**:先停止再启动容器。 ##### 进入容器内部 - **命令**:`docker exec -it [容器ID/容器名] /bin/bash` 或 `/bin/sh` - **描述**:在运行的容器内部执行命令。对于大多数基于Linux的镜像,`/bin/bash`或`/bin/sh`是常见的shell。 - **选项**:`-i`(或`--interactive`)保持STDIN开放,`-t`(或`--tty`)分配一个伪终端。 ##### 查看容器日志 - **命令**:`docker logs [容器ID/容器名]` - **描述**:输出容器的日志信息。 - **选项**:使用`-f`(或`--follow`)持续输出日志信息,类似`tail -f`。 ##### 删除容器 - **命令**:`docker rm [容器ID/容器名]` - **描述**:删除一个或多个容器。如果容器正在运行,需要先停止它。 - **选项**:使用`-f`(或`--force`)强制删除正在运行的容器。 #### 7.8.4 其他常用命令 ##### Docker镜像的导出与导入 - **导出镜像**:`docker save -o [导出的文件名].tar [镜像名]:[标签]` - **导入镜像**:`docker load -i [导出的文件名].tar` 这些命令允许你将镜像导出为文件,然后在没有网络连接或需要备份的情况下,在其他系统上导入使用。 ##### 容器与宿主机之间的文件拷贝 - **从宿主机拷贝到容器**:`docker cp [宿主机源文件路径] [容器ID/容器名]:[容器内目标路径]` - **从容器拷贝到宿主机**:`docker cp [容器ID/容器名]:[容器内源文件路径] [宿主机目标路径]` 这些命令对于在容器与宿主机之间快速传输文件非常有用。 #### 7.8.5 小结 掌握Docker的常用命令是高效利用Docker进行容器化开发、部署和运维的基础。从镜像的搜索、拉取、查看、删除,到容器的创建、启动、停止、删除,再到容器日志的查看、容器与宿主机之间的文件拷贝,每一个命令都承载着Docker容器化技术的重要功能。通过反复练习和实际应用,你将能够更加熟练地运用这些命令,从而在云计算和微服务架构的实践中游刃有余。随着对Docker的深入理解和实践,你将能够构建更加灵活、高效、可扩展的云计算应用和服务。
上一篇:
7.7.3Docker在MAC上的部署
下一篇:
7.9Dockerfile
该分类下的相关小册推荐:
深入浅出分布式技术原理
Redis数据库高级实战
分布式数据库入门指南
Linux系统管理小册
Ansible自动化运维平台
Web安全攻防实战(下)
云计算那些事儿:从IaaS到PaaS进阶(二)
Linux性能优化实战
从零开始学大数据
大规模数据处理实战
Linux常用服务器部署实战
IM即时消息技术剖析