Docker基础命令

发布于:2025-06-04 ⋅ 阅读:(22) ⋅ 点赞:(0)

1. 镜像的基本命令


1.1. 帮助命令

# 查看版本
docker version

# 查看详细信息,包括镜像和容器数量
docker info

1.2 查看镜像

# 查看镜像信息
docker images

# 查看镜像id
docker images -q

1.3 搜索镜像

# 不一定能搜索成功,但是可以直接下载
docker search mysql

# 过滤镜像,搜索镜像收藏数量大于3000
docker search mysql --filter=STARTS=3000

1.4 下载镜像

# 下载最新版
docker pull mysql

# 指定版本
docker pull mysql:5.7

1.5 删除镜像

# 通过id删除指定镜像,其中-f表示删除该镜像的全部信息
docker rmi -f 5107333e08a8

# 如果删除多个镜像,则id之间利用空格分开
docker rmi -f 镜像id1 镜像id2 镜像id3

# 删除全部镜像
docker rmi -f $(docker images -aq)

2. 容器的基本命令


说明:有了镜像才可以下载容器

docker pull centos:7

2.1 启动容器

docker run [可选参数] image

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

# 指定id,以交互的方式启动并进入容器
docker run -it 容器id /bin/bash

# 如果不指定id,则需要指定容器的名称和版本
docker run -it centos:7 /bin/bash

image-20250516104107941

2.2 查看容器

# 列出当前运行的全部容器
docker ps
	-a     # 查看运行过的所有容器
	-n=?	# 限制查看的容器数量,例如只查看一个,-n=1
	-q		# 只显示容器的编号

image-20250516105323337

2.3 退出容器

# 直接退出,不会删除数据,只是退出
exit

# 容器不停止但退出
ctrl + P + Q

2.4 进入、启动和停止容器

# 指定id,开启一个新的终端,以交互的方式(-it)进入容器
docker exec -it 容器id /bin/bash

# 启动容器
docker start 容器id

# 重启容器
docker restart 容器id

# 停止容器
docker stop 容器id

# 结束容器
docker kill 容器id

2.5 删除容器

# 删除单个容器,不能删除正在运行的容器
docker rm 容器id

# 强制删除单个容器
docker rm -f 容器id

# 删除全部的容器
docker rm -f $(docker ps -aq)

3. 其他常用命令


3.1 后台启动容器

特别注意:如果以后台方式启动docker,此时利用docker ps会发现应用已经停止

# 以后台方式启动docker
docker run -d centos:7

这是因为docker容器后台启动,必须要有一个前台进程,如果没有,就会自动停止

  • -d后台适合运行不需要用户交互的服务(如 Web 服务器、数据库)
  • -it前台适合需要用户交互的场景(如调试、运行命令行工具)

3.2 查看日志

查看日志的前提是容器正在运行

# 显示全部日志
docker logs -ft 容器id

# 查看指定数量的日志
docker logs -ft --tail 10 容器id

3.3 查看容器中的进程信息

# 查看容器进程
docker top 容器id

3.4 查看容器元数据

# 查看容器的全部信息(环境信息,网络配置等...)
docker inspect 容器id

3.5 容器中拷贝文件到主机

# 主机运行拷贝命令,可将容器中文件拷贝到主机上
docker cp 容器id:文件地址 主机地址

# 将容器中的文件夹拷贝到主机中
docker cp 0fa7e2554ce9:/home/hello.txt ./

网站公告

今日签到

点亮在社区的每一天
去签到