镜像命令
1.搜索镜像search
1.1命令帮助
Usage: docker search [OPTIONS] TERM在Docker Hub搜索镜像,https://hub.docker.com/Options:-f, --filter filter 根据所提供的条件过滤输出--format string 使用Go模板的漂亮打印搜索--limit int 搜索结果的最大数目(默认25个)--no-trunc 不截断输出
1.2 例子
NAME:镜像名称 DESCRIPTION:镜像描述 STARS:热度 OFFICIAL:是否官方 AUTOMATED:是否自动化
##搜索mysql[root@localhost /]# docker search mysqlNAME DESCRIPTION STARS OFFICIAL AUTOMATEDmysql MySQL is a widely used, open-source relation… 11886 [OK]mariadb MariaDB Server is a high performing open sou… 4544 [OK]##热度大于3000的[root@localhost /]# docker search mysql --filter=stars=3000
2. 下载镜像pull
2.1命令帮助
Usage: docker pull [OPTIONS] NAME[:TAG|@DIGEST]从注册表中提取镜像或存储库Options:-a, --all-tags 下载存储库中所有标记的图像--disable-content-trust 跳过镜像验证(默认为true)--platform string 如果服务器支持多平台,则设置平台-q, --quiet 抑制详细输出
2.2例子
[root@localhost /]# docker pull mysqlUsing default tag: latest #默认latest 最后一个版本latest: Pulling from library/mysql72a69066d2fe: Pull complete #分层下载 依赖...626033c43d70: Already exists #已存在的依赖镜像e0431212d27d: Pull completeDigest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709Status: Downloaded newer image for mysql:latestdocker.io/library/mysql:latest #真实拉取地址[root@localhost /]# docker pull mysql:5.7
3.本地镜像管理
3.1镜像列出images
3.1.1命令帮助
Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]
列出镜像
Options:
-a, --all 显示所有图像(默认隐藏中间图像)
--digests 显示摘要
-f, --filter filter 根据所提供的条件过滤输出
--format string 使用Go模板打印漂亮的图像
--no-trunc 不截断输出
-q, --quiet 只显示镜像id
3.1.2例子
[root@localhost /]# docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest 7614ae9453d1 2 days ago 113MB
mysql latest 3218b38490ce 3 days ago 516MB
hello-world latest feb5d9fea6a5 3 months ago 13.3kB
3.2镜像删除rmi
3.2.1命令帮助
Usage: docker rmi [OPTIONS] IMAGE [IMAGE...]
删除一个或多个镜像
Options:
-f, --force 强制删除图像
--no-prune 不删除未标记的父依赖镜像
3.2.2例子
##注意:启动过有实例的 删不了$(docker images -q)
##删除镜像 多个id空格隔开
[root@localhost /]# docker rmi c20987f18b13 c2xxx
##删除全部镜像
[root@localhost /]# docker rmi $(docker images -aq)
容器命令
1.实例化并运行run
1.1 常用命令帮助(太多)
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
在新容器并运行
Options:
--name string 给容器指定一个名称
-d, --detach 在后台运行容器并打印容器ID
-i, --interactive 已交互式运行容器,通常与-t同时使用
-P, --publish-all 将所有公开的端口发布到随机端口(随机端口映射)
-p, --publish list 发布一个容器的端口到主机
1.2例子
##交互式运行一个centos
[root@localhost /]# docker run -it centos /bin/bash
##退出交互 并关闭容器实例
[root@9f4819e7be0d /]# exit
##退出交互 不关闭容器实例(没反应)
ctrl+P+Q
2.查看容器ps
2.1 命令帮助
Usage: docker ps [OPTIONS]
列出容器
Options:
-a, --all 显示所有容器(默认显示正在运行)
-f, --filter filter 根据所提供的条件过滤输出
--format string 使用Go模板的漂亮打印容器
-n, --last int 显示最近创建的容器(包括所有状态)(默认为-1)
-l, --latest 显示最新创建的容器(包括所有状态)
--no-trunc 不截断输出
-q, --quiet 只显示容器id
-s, --size 显示文件总大小
2.2例子
##最近n个创建的容器
[root@localhost /]# docker ps -n=2
3. 删除容器rm
3.1 命令帮助
Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]
删除一个或多个容器(未停止的删不成功)
Options:
-f, --force 强制移除正在运行的容器(使用SIGKILL)
-l, --link 删除指定的链接
-v, --volumes 删除与容器关联的匿名卷
3.2 例子
##强制删除所有
[root@localhost /]# docker rm -f $(docker ps -aq)
4.启动容器
Usage: docker start [OPTIONS] CONTAINER [CONTAINER...]
启动一个或多个停止的容器
Options:
-a, --attach 附加STDOUT/STDERR和前向信号
--detach-keys string 覆盖用于分离容器的键序列
-i, --interactive 将容器的STDIN
5.重启容器
Usage: docker restart [OPTIONS] CONTAINER [CONTAINER...]
重新启动一个或多个容器
Options:
-t, --time int 在杀死容器之前等待停止的秒数(默认为10
6.停止容器
Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...]
停止一个或多个正在运行的容器
Options:
-t, --time int 杀死它之前等待停止的秒数(默认10)
7.杀死容器
Usage: docker kill [OPTIONS] CONTAINER [CONTAINER...]
杀死一个或多个正在运行的容器
Options:
-s, --signal string 要发送给容器的信号(默认为“KILL”)
docker run [OPTIONS] IMAGE [COMMAND] [ARG..]
OPTIONS说明:
--name="容器新名字" 为容器指定一个名字
-d:后台运行容器,并返回容器id,即启动守护式容器
-i:已交互式运行容器,通常与-t同时使用
-t:为容器重新分配一个伪输入终端,通常与-i同时使用
-P:随机端口映射
-p:指定端口映射,有以下四种格式:
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
--privileged=true 有时run 有错误,加这个参数 消除错误
常用其他命令
后台启动容器
-d 后台运行,ps后没有,是因为没有一个前台进程,就会自动停止
[root@localhost /]# docker run -d centos
f927770734d37f7c87ad7149e9145c66803312b18ec3f7582fc756cc62844037
[root@localhost /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
查看日志
docker logs -tf --tail 10 [实例id]
查看容器中的进程
docker top [实例id]
镜像中的元数据
docker inspect [实例id]
进入正在运行的容器
方式一:进入容器后开启一个新的终端
docker exec -it [实例id] bashShell
方式二:进入容器正在执行的终端
dcoker attach [实例id]
容器拷贝到宿主机
docker cp 48cf5b7d4569:/home/aaa.txt /home
