【Docker】一文掌握全部Docker常用命令
1.docker images: 查看镜像
查看镜像,后可跟 “| grep 内容”,可根据内容进行筛选。
如:docker images | grep ubuntu
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS说明:
-a: 列出本地所有的镜像
–digests: 显示镜像的摘要信息
-f: 显示满足条件的镜像
–format: 指定返回值的模板文件
–no-trunc: 显示完整的镜像信息
-q: 只显示镜像ID
2.docker run: 创建一个新的容器并运行一个命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
-d: 后台运行容器,并返回容器ID
-i: 以交互模式运行容器,通常与 -t 同时使用
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
–name “ubuntu”: 为容器指定一个名称
-h “localhost”: 指定容器的hostname
-e spring.profiles.active=“dev”: 设置环境变量
–env-file=[]: 从指定文件读环境变量
-m :设置容器使用内存最大值
–volume /home/data:/etc/data : 绑定一个卷,将本地文件位置映射到镜像
如:docker run -d -t -p 80:80 -v /home/data:/usr/data --name ubuntu ubuntu:latest
3. docker create: 创建一个新的容器但不启动它
docker create containerName
4.docker stop: 停止一个运行的容器
docker stop containerName
5.docker restart: 重启一个容器
docker restart containerName
6.docker start: 启动一个被停止的容器
docker start containerName
7.docker ps : 列出容器
docker ps [OPTIONS]
OPTIONS说明:
-a: 显示所有的容器,包括未运行的
-f: 根据条件过滤显示的内容
–format: 指定返回值的模板文件
-l: 显示最近创建的容器
-n: 列出最近创建的n个容器
–no-trunc: 不截断输出
-q: 静默模式,只显示容器编号
-s: 显示总的文件大小
8.docker ps: 查看容器
docker ps -a :查看所有容器
docker ps: 查看正在运行的容器
9.docker exec: 进入一个运行中的容器执行命令
如:docker exec -it 容器id sh or bash or /bin/bash
表示在容器中开启一个交互模式的终端
10. docker rm: 删除一个容器
可加-f 表示强制 -v:并删除挂载卷
docker rm containerName
删除所有停止的容器:docker rm $(docker ps -a -q)
11.docker rmi: 删除一个镜像
docker rmi imageName
可加-f 表示强制
12.docker inspect : 获取容器/镜像的元数据
如:docker inspect [OPTIONS] NAME|ID [NAME|ID...]
OPTIONS说明:
-f: 指定返回值的模板文件
-s: 显示总文件大小
-type: 为指定类型返回json数据
获取正在运行的容器 ubuntu的 IP:
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ubuntu
13.docker kill: 杀死一个运行中的容器
如: docker kill -s killyou ubuntu
14.docker logs: 获取容器的日志
查看该容器的日志信息
docker logs 容器id
-f :跟随打印最新的日志追加在最后面
-t : 显示日志打印的时间戳
–tail 数量:只显示最新的指定数量的几条日志信息
如:docker logs -f -t 容器id or docker logs -f -t --tail=100 容器id
15.docker build: 命令用于使用 Dockerfile 创建镜像
docker build [OPTIONS] PATH | URL | -
OPTIONS说明:
-f: 指定要使用的Dockerfile路径
-m: 设置内存最大值
–memory-swap: 设置Swap的最大值为内存+swap,"-1"表示不限swap
–no-cache: 创建镜像的过程不使用缓存
–pull: 尝试去更新镜像的新版本
-q: 安静模式,成功后只输出镜像 ID
–rm: 设置镜像成功后删除中间容器
–shm-size: 设置/dev/shm的大小,默认值是64M
–tag: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签
–network: 默认 default。在构建期间设置RUN指令的网络模式
docker build -t 镜像标签名: docker build -t ubuntu:latest
docker build -f /path/to/a/Dockerfile
16.docker tag: 标记本地镜像,将其归入某一仓库
docker tag ubuntu ubuntu:old
17.docker save: 将指定镜像保存成 tar 归档文件
docker save -o ubuntu.tar ubuntu:latest
18.docker load:导入镜像,docker save :导出镜像
docker load -i tar文件名
docker save -o tar文件名 imageName
如:docker save -o ubuntu18.tar ubuntu18
19.docker info: 查看docker环境信息
docker info
20.docker version: 查看docker版本信息
docker version
21.docker login: 登录一个Docker镜像仓库
docker login -u 用户名 -p 密码
22. docker logout: 退出登录
docker logout
23.docker pull: 拉取或者更新指定镜像
docker pull imageName
-a 拉取所有的tag的镜像
24.docker push: 将本地的镜像上传到镜像仓库
docker push imageName
25.docker search :搜索镜像
docker search ubuntu
26.docker查看容器内运行的线程
docker top 容器id
27.docker将容器中的信息拷贝到宿主机
docker cp 容器id:容器文件路径 宿主机路径
docker cp a57faaef1751:/tmp/yum.log ./aa.log
cp:通过cp命令,将a57faaef1751容器中的 tmp目录下的yum.log文件,复制到宿主机的当前目录下,命名为aa.log
28.docker提交自定义镜像
docker commit -a=作者名 -m=描述信息 原容器id 新容器名称
docker commit -a="nieson" -m="test commit" 原容器id nieson/ubuntu:1.0
commit:提交镜像,将容器id对应的镜像修改后,使用commit生产 自定义镜像
nieson/mytomcat 表示镜像名
1.0 : 表示镜像版本
-a= : 表明作者
-m=:新镜像的描述信息
————————————————
作者:夜空骑士