一.Docker常用命令总结
1.镜像命令管理
指令 | 描述 |
ls | 列出镜像 |
build | 构建镜像来自Dockerfile |
history | 查看历史镜像 |
inspect | 显示一个或多个镜像的详细信息 |
pull | 从镜像仓库拉取镜像 |
push | 推送一个镜像到仓库 |
rm | 移除一个或多个镜像 |
prune | 一处未使用的的镜像,没有被标记或被任何容器引用的 |
tag | 创建一个引用源镜像标记目标镜像 |
export | 到处容器文件系统到tar归档文件 |
import | 导入容器文件系统tar归档文件创建镜像 |
save | 保存一个或多个镜像到一个tar归档文件 |
load | 加载镜像来自tar归档或标准输入 |
#查询 docker 版本和信息
docker version
docker info#搜索镜像(可以自己制作镜像上传本地或官网仓库 dockerfile)
docker search <镜像名>#下载镜像
docker pull <镜像名>#查看镜像列表
docker images#查看镜像详细信息
docker inspect <镜像 ID>#给镜像打标签
docker tag <镜像名>:<原标签> <镜像名>:<新标签>
#docker tag nginx:latest nginx:lnmp#删除镜像
docker rmi <镜像名>
docker rmi <镜像标签>
docker rmi <镜像 ID>
docker rmi `docker images -aq` #删除所有镜像
docker images | awk 'NR>=2{print "docker rmi -f "$3}' | bash#镜像导出
docker save -o <导出的文件名> <镜像名>
#docker save -o nginx_v1 nginx:latest#镜像导入
docker load < [镜像文件]
#docker load < nginx_v1
2.容器命令管理
指令 | 描述 |
ls | 列出容器 |
inspect | 显示一个或多个容器详细信息 |
attach | 附加本地标准输入,输出和错误到一个运行的容器 |
attach | 在运行容器中执行命令 |
commit | 构建一个新镜像来自一个容器 |
cp | 拷贝文件(夹)到一个容器 |
logs | 获取一个容器日志 |
port | 列出或指定容器端口映射 |
stats | 显示一容器资源使用统计 |
top | 显示一个或多个容器运行的进程 |
update | 更新一个或多个容器配置 |
stop/start/rstart | 停止/启动/重启一个或多个容器 |
rm | 删除一个或多个容器 |
#查询容器
docker ps -a#查看容器占用系统资源信息
docker stats#创建容器
docker create -it nginx:latest /bin/bash
#常用参数说明
> -i 让容器的标准输入保持打开
> -t 分配一个伪终端
> -d 以后台守护进程的方式运行#开启/停止/重启 容器
docker start <容器 ID>
docker stop <容器 ID>
docker restart <容器 ID>#后台运行,指定容器名称为 test
docker run -itd --name test nginx:latest /bin/bash#进入容器
docker exec -it <容器 ID> /bin/bash #exit 退出#容器 导出/导入
docker export [容器 ID] > [文件名]
docker import [容器文件名] [指定镜像名称] #导入的是镜像#批量停止容器
docker ps -a | awk 'NR>=2{print "docker stop "$1}' | bash
docker ps -a | awk 'NR>=2{print $1}' | xargs docker stop#批量删除容器
docker rm -f `docker ps -aq`
docker ps -a | awk 'NR>=2{print "docker rm "$1}' | bash
docker ps -a | awk 'NR>=2{print $1}' | xargs docker rm -f#批量删除 "exit" 状态(指定状态)的容器
for i in `docker ps -a | grep -i exit | awk '{print $1}'`; do docker rm -f $i;done#查看容器进程号
docker inspect -f '{{.State.Pid}}' <容器名>
docker inspect -f '{{.State.Pid}}' <容器 ID>##进入容器没有 systemctl 命令解决
添加 --privileged=true(指定此容器是否为特权容器),使用此参数,则不能用 attach。
> 示例:
docker run -itd --name test3 --privileged=true centos /sbin/init`/sbin/init 内核启动时主动呼叫的第一个进程`可以使用 docker inspect <容器ID>
docker ps -a
docker exec -it <容器ID> /bin/bash
yum install httpd -y
systemctl status httpd
二.Docker镜像命令
1.docker search:搜索镜像
2.docker pull:下载镜像
格式:docker pull 仓库名称[:标签]
#如果下载镜像时不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为 latest 标签。
例:docker pull nginx
3.docker push:上传镜像
docker push 命令用于将本地的 Docker镜像 上传到 Docker镜像仓库
docker官方公有仓库地址https://hub.docker.com/注册
默认上传到 docker Hub 官方公共仓库,需要注册使用公共仓库的账号。
可以使用 docker login 命令来输入用户名、密码和邮箱来完成注册和登录。
在上传镜像之前,还需要先对本地镜像添加新的标签,然后再使用 docker push 命令进行上传。docker tag nginx:latest wzyonline/nginx:kang #添加新的标签
docker login #登录docker官网公共仓库
Username: #用户ID
password: #网站用户登录密码
docker push wzyonline/nginx:zhuo #上传镜像
docker logout #登出docker官网公共仓库