文章目录
- [1. 镜像的基本命令](#1. 镜像的基本命令)
-
- [1.1. 帮助命令](#1.1. 帮助命令)
- [1.2 查看镜像](#1.2 查看镜像)
- [1.3 搜索镜像](#1.3 搜索镜像)
- [1.4 下载镜像](#1.4 下载镜像)
- [1.5 删除镜像](#1.5 删除镜像)
- [2. 容器的基本命令](#2. 容器的基本命令)
-
- [2.1 启动容器](#2.1 启动容器)
- [2.2 查看容器](#2.2 查看容器)
- [2.3 退出容器](#2.3 退出容器)
- [2.4 进入、启动和停止容器](#2.4 进入、启动和停止容器)
- [2.5 删除容器](#2.5 删除容器)
- [3. 其他常用命令](#3. 其他常用命令)
-
- [3.1 后台启动容器](#3.1 后台启动容器)
- [3.2 查看日志](#3.2 查看日志)
- [3.3 查看容器中的进程信息](#3.3 查看容器中的进程信息)
- [3.4 查看容器元数据](#3.4 查看容器元数据)
- [3.5 容器中拷贝文件到主机](#3.5 容器中拷贝文件到主机)
1. 镜像的基本命令
1.1. 帮助命令
bash
# 查看版本
docker version
# 查看详细信息,包括镜像和容器数量
docker info
1.2 查看镜像
bash
# 查看镜像信息
docker images
# 查看镜像id
docker images -q
1.3 搜索镜像
bash
# 不一定能搜索成功,但是可以直接下载
docker search mysql
# 过滤镜像,搜索镜像收藏数量大于3000
docker search mysql --filter=STARTS=3000
1.4 下载镜像
bash
# 下载最新版
docker pull mysql
# 指定版本
docker pull mysql:5.7
1.5 删除镜像
bash
# 通过id删除指定镜像,其中-f表示删除该镜像的全部信息
docker rmi -f 5107333e08a8
# 如果删除多个镜像,则id之间利用空格分开
docker rmi -f 镜像id1 镜像id2 镜像id3
# 删除全部镜像
docker rmi -f $(docker images -aq)
2. 容器的基本命令
说明:有了镜像才可以下载容器
bash
docker pull centos:7
2.1 启动容器
bash
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

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

2.3 退出容器
bash
# 直接退出,不会删除数据,只是退出
exit
# 容器不停止但退出
ctrl + P + Q
2.4 进入、启动和停止容器
bash
# 指定id,开启一个新的终端,以交互的方式(-it)进入容器
docker exec -it 容器id /bin/bash
# 启动容器
docker start 容器id
# 重启容器
docker restart 容器id
# 停止容器
docker stop 容器id
# 结束容器
docker kill 容器id
2.5 删除容器
bash
# 删除单个容器,不能删除正在运行的容器
docker rm 容器id
# 强制删除单个容器
docker rm -f 容器id
# 删除全部的容器
docker rm -f $(docker ps -aq)
3. 其他常用命令
3.1 后台启动容器
特别注意:如果以后台方式启动docker
,此时利用docker ps
会发现应用已经停止
bash
# 以后台方式启动docker
docker run -d centos:7
这是因为docker
容器后台启动,必须要有一个前台进程,如果没有,就会自动停止
-d
后台适合运行不需要用户交互的服务(如Web
服务器、数据库)-it
前台适合需要用户交互的场景(如调试、运行命令行工具)
3.2 查看日志
查看日志的前提是容器正在运行
bash
# 显示全部日志
docker logs -ft 容器id
# 查看指定数量的日志
docker logs -ft --tail 10 容器id
3.3 查看容器中的进程信息
bash
# 查看容器进程
docker top 容器id
3.4 查看容器元数据
bash
# 查看容器的全部信息(环境信息,网络配置等...)
docker inspect 容器id
3.5 容器中拷贝文件到主机
bash
# 主机运行拷贝命令,可将容器中文件拷贝到主机上
docker cp 容器id:文件地址 主机地址
# 将容器中的文件夹拷贝到主机中
docker cp 0fa7e2554ce9:/home/hello.txt ./