Docker学习---docker的常用命令

本文详细介绍了Docker的基础命令,包括版本信息显示、镜像管理(搜索、下载、删除)、容器操作(创建、启动、停止、删除)以及其他实用命令。通过实例演示了如何使用Docker进行容器化操作,如启动CentOS镜像并进入容器内部,以及容器的日志查看、进程管理和文件拷贝等。

章节目录


Docker常用命令

帮助命令

docker version # 显示docker版本信息

docker info # 显示docker的系统信息,包括镜像和容器信息

docker 命令 --help # 万能命令

帮助文档的地址: https://docs.docker.com/reference/


镜像命令

[root@sdowixn/] docker images
# 镜像的仓库源     镜像的标签      镜像的id            镜像的创建时间  镜像的大小
REPOSITOPY        TAG           IMAGE ID           CREATED      SIZE
hello-world       latest        bf75sdsdwx         4 months ago  13.3KB
# 可选项
-a, --all # 列出所有镜像
-q, --quiet # 只显示镜像的id
搜索镜像:
docker search + 镜像名

# 可以先通过帮助文档查找搜索相关命令
docker searce -help

# 如果需要搜索出来的镜像就是STARS大于3000的
docker search 镜像名 --filter=STARS=3000
# 下载镜像 如果不写TAG,默认是Latest
docker pull 镜像名

# 指定版本下载  docker pull mysql:5.7
docker pull 镜像名:版本号  

# 删除镜像 -f表示全部删除
docker rmi -f 镜像ID或镜像名

容器命令

说明:我们有了镜像才可以创建容器,linux,下载一个centos镜像来测试学习
docker pull centos
新建容器并启动
docker run [可选参数] image

# 参数说明
--name="Name" 容器名字 tomcat01 tomcat02, 用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p  指定容器的端口 主机端口:容器端口
-p  随机指定端口

# 测试,启动并进入容器
docker run -it centos /bin/bash
列出所有的运行的容器
docker ps
-a # 列出正在运行的容器+带出来历史运行的容器
-n=# 显示最近创建的容器
-q # 只显示容器的编号
退出容器
exit # 直接容器停止并退出
Ctrl + P + Q # 容不停止退出
删除容器
docker rm 容器id  # 删除所有容器,不能删除正在运行的容器
docker rm -f $(docker ps -aq) # 删除所有容器
启动和停止容器的操作
docker start 容器id  # 启动容器
docker restart 容器id # 重启容器
docker stop 容器id # 停止当前正在运行的容器
docker kill 容器id # 强制停止当前容器

常用其他命令

后台启动容器
# 命令 docker run -d 镜像名
docker run -d centos

# 问题docker ps 发现centos 停止了
# 常见的坑:docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
查看容器日志
docker logs -f -t --tail 容器
查看容器中进程信息ps
docker top 容器ID
查看容器的元数据
docker inspect 容器ID
进入当前正在运行的容器
# 方式一 进入容器后开启一个新的终端(常用)
docker exec -it dec37bn8bf /bin/bash

# 方式二 进入容器正在执行的终端
docker attach dec37bn8bf
从容器内拷贝文件到主机上
docker cp dec37bn8bf:/home/test.java
<think>好的,我现在需要回答用户关于Docker命令中单短横线(-)和双短横线(--)区别的问题。首先,我得回忆Docker命令的基础结构,然后明确这两种符号的不同使用场景。 用户之前提到了docker -v和docker --device的区别,引用中给出了挂载目录的例子。这可能和选项的简写与完整形式有关。根据经验,Unix/Linux命令行工具通常用单短横线后跟单个字母表示短选项,而双短横线后跟完整单词表示长选项。Docker应该遵循这一惯例。 接下来,我需要验证这一点是否正确。比如,docker run -v是挂载卷的短选项,而docker run --volume应该是其长形式。同样,docker --help显示帮助信息,而可能有短选项如-h。但要注意,并非所有命令都有对应的长短选项,有些可能只有其中一种形式。 另外,用户可能混淆了选项和参数中的短横线。例如,有些命令的参数可能需要使用双短横线,比如docker run --name mycontainer,这里的--name是选项,而mycontainer是参数值。这时候双短横线用于选项,而单短横线可能用于组合多个短选项,比如docker run -itd,其中-i、-t、-d分别是三个短选项的组合。 需要举例说明两者的用法差异,比如单短横线可以合并多个选项,而双短横线后面必须跟完整的选项名。同时,可能需要指出在Docker中,某些命令可能只有长选项形式,或者短选项对应不同的功能,比如docker ps -a和docker ps --all是等价的,但docker volume create --name myvol中的--name是长选项。 还要注意用户可能存在的误区,比如认为双短横线是用于更复杂的参数,但实际上只是命名方式的不同。需要明确区分选项的类型和它们的表示方式,并给出具体的Docker命令例子来佐证。 最后,根据用户提供的引用,docker -v的例子实际上是挂载卷的简写,而--device是另一个选项,可能没有对应的短选项。这说明在Docker中,有些选项只有长形式,而有些有短形式。需要总结这种规律,并指出如何通过Docker的帮助命令(如docker run --help)来查看所有可用选项及其长短形式。 可能还需要提到,当选项需要带参数时,长选项通常使用等号或空格分隔,例如--name=mycontainer或--name mycontainer,而短选项可能直接跟在后面或用空格分隔,如-v /host:/container。 总结起来,回答的结构应该是先解释单双短横线的一般规则,再结合Docker的具体例子说明,最后给出使用建议和相关问题的扩展。</think>### Docker命令中单短横线(`-`)和双短横线(`--`)的区别及用法 #### 1. **语法规则** - **单短横线(`-`)**:用于简短的**单字母选项**,通常表示常用功能的快捷方式。多个单字母选项可以合并使用。 - 示例:`docker run -itd` 等效于 `docker run -i -t -d`,表示同时启用交互模式(`-i`)、分配伪终端(`-t`)和后台运行(`-d`)[^1]。 - **双短横线(`--`)**:用于**完整单词的长选项**,通常可读性更强,适用于复杂参数或较少使用的功能。 - 示例:`docker run --detach --interactive --tty` 对应短选项 `-dit`。 #### 2. **功能差异** - **短选项(`-`)**: - 适合高频操作,如挂载目录:`docker run -v /host:/container`。 - 合并多个选项:`docker ps -a -q` 可合并为 `docker ps -aq`。 - **长选项(`--`)**: - 明确表达功能,如限制容器内存:`docker run --memory=500m`。 - 部分功能仅支持长选项,如设备挂载:`docker run --device=/dev/sda:/dev/sda`[^1]。 #### 3. **参数传递方式** - **短选项**的参数通常直接跟在字母后: - `-v 宿主机路径:容器路径`(挂载卷)。 - **长选项**的参数常用等号或空格分隔: - `--name=容器名` 或 `--name 容器名`。 #### 4. **特殊场景** - **`--` 作为命令分隔符**: 在`docker run`中,双短横线可分隔镜像命令与容器内命令: ```bash docker run alpine -- sh -c "echo Hello" ``` #### 5. **查看帮助文档** 通过 `docker --help` 或 `docker COMMAND --help` 查看选项的短/长形式: ```bash docker run --help # 显示所有选项,包括`-v`和`--volume` ``` --- ### 示例对比 | 短选项(`-`) | 长选项(`--`) | 功能说明 | |-----------------------|-----------------------------|--------------------------| | `docker rm -f` | `docker rm --force` | 强制删除容器 | | `docker logs -t` | `docker logs --timestamps` | 显示日志时间戳 | | `docker run -p 80:80` | `docker run --publish 80:80` | 端口映射 | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值