一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第7天,点击查看活动详情
1、序言
之前对于的Docker的了解,仅限于那几个基本命令,Docker images,Docker search,Docker pull等,但是最近对于Docker的使用以及知识需求程序直线上升,所以在学习过程中,记录一下常用的命令以及使用。
2、常用操作
2.1 配置Docker镜像加速
Docker默认的镜像拉取地址是在国外网站,速度一般都比较慢,所以针对国内也有几种免费的加速方式,什么阿里云、七牛云等等,由于自己有买阿里云的服务器,所以就直接操作阿里云的了。
- 访问阿里云镜像配置网址,然后根据操作一步一步来,会得到一个针对自己的阿里云加速地址;
- 编辑配置文件:
daemon.json添加一下自己的加速地址,操作如下:
1. vim /etc/docker/daemon.json
2. 添加下面配置:
{
"registry-mirrors": ["阿里云地址"],
"live-restore": true
}
- 添加完毕之后,刷新一下配置,重启。
systemctl daemon-reload
systemctl restart docker
2.2 搜索镜像
基本语句:docker search xxxx
额外参数:一般来说,基本用不到额外参数;官方说明
| 参数 | 默认值 | 说明 |
|---|---|---|
--no-trunc | 无 | 显示搜索出的镜像完成的说明 |
--limit | 25 | 展示几条内容 |
--filter / -f | 无 | 过滤条件 |
--format | 无 | 格式化样子 |
2.3 下载镜像
基本语句:docker pull [OPTIONS] NAME[:TAG|@DIGEST]
额外参数:一般也用不到;官方说明
| 参数 | 默认值 | 说明 |
|---|---|---|
-a | 无 | 下载存储库中的所有标记镜像 |
--disable-content-trust | true | 跳过镜像验证 |
--platform | 无 | 如果服务器支持多平台,则设置平台(这个参数需要API版本为1.32+) |
-q | 无 | 简化下载输出 |
说明:如果下载的时候,名称后面的Tag或者DIGEST没有指定,则默认下载最新版本。
2.4 查看所有镜像
基本语句:docker images
额外参数:偶尔会用到-a -q,高级点的用到-f --format,详见:官方说明
| 命令 | 默认值 | 说明 |
|---|---|---|
--all , -a | 显示所有镜像(默认隐藏中间镜像) | |
--digests | 显示摘要 | |
--filter , -f | 过滤 | |
--format | 格式化 | |
--no-trunc | 不要截断输出 | |
--quiet , -q | 仅显示镜像 ID |
说明:有一些平常会用到的关于镜像的命令
1. 查看关于java的所有镜像:docker images java
2. 查看当前所有的镜像ID:docker images -a -q
3. 查看所有没有用到的镜像ID:docker images -a -q -f "dangling=true"
4. 查看label是test的所有镜像:docker images --filter "label=test"
2.5 运行镜像
基本语句:docker run --name="自定义的名称" -d -p 33301:22 {镜像名称或者ID}
额外参数:额外的有点多,就不在这介绍了,查阅官方文档吧。
2.6 查看运行的容器
基本语句:docker ps
额外参数:一般会用到-a -q,其余的很少用了就。
| 命令 | 默认值 | 说明 |
|---|---|---|
--all , -a | 显示所有容器(默认显示运行) | |
--filter , -f | 过滤输出 | |
--format | 格式化 | |
--last , -n | -1 | 显示 n 个最后创建的容器(包括所有状态) |
--latest , -l | 显示最新创建的容器(包括所有状态) | |
--no-trunc | 不要截断输出 | |
--quiet , -q | 只显示容器ID | |
--size , -s | 显示总文件大小 |
说明:一些常用的命令
1. 查看所有的容器:docker ps -a
2. 查看现在运行的容器ID: docker ps -q
2.7 操作容器
基本语句:docker exec [OPTIONS] {容器ID} {参数} [ARG...]
额外参数:基本必用的是:-it xxxx /bin/bash
| 命令 | 默认值 | 说明 |
|---|---|---|
--detach , -d | 在后台运行 | |
--interactive , -i | 即使没有连接,也保持 STDIN 打开 | |
--tty , -t | 分配一个伪终端 |
就列三个吧,其余的有版本要求或者基本用不到的,详见官网文档
说明:一些常用的命令
# 这里面的kafka是在run的时候声明的容器名称,也可以换成容器ID;
1. 进入某个容器的命令行界面:docker exec -it kafka /bin/bash 就是进入了它的终端界面,可以进行Liunx一样的操作;
2. 在某个容器里面运行某个脚本:docker exec -it kafka /bin/sh /root/kafka.sh
3、一般操作
3.1 清除一些不用的镜像
基本语句: docker system prune
额外参数:一般结合-a -f ,意思是清空所有的,直接不用确认就清楚。
组装语句:借用其余shell命令
docker ps -a | grep "Exited" | awk '{print $1 }'| xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1 }'| xargs docker rm
docker images| grep none |awk '{print $3 }'| xargs docker rmi
3.2 查看Docker信息
基本语句:docker info