Docker常用命令笔录

1. 获取镜像

## 格式
docker pull [选项] [仓库地址[:端口]/]仓库名[:标签]

## 解释
# 仓库地址:一般格式是<域名/IP>:[:端口号],默认地址是Docker Hub
# 仓库名:为两段式名称,即<用户名>/<软件名>,对于Docker Hub,如果不给用户名,默认为library

## 示例
docker pull ubuntu:16.04

2. 运行镜像

## 格式
docker run [选项] 镜像 [命令] [参数...]

## 示例
docker run -it --rm ubuntu:16.04 bash

## 示例解释
# -it:这是两个参数,一个是-i,表示交互式操作,一个是-t表示终端
# --rm:这个参数是说容器退出后随之将其删除
# ubuntu:16.04: 这是指用ubuntu:16.04镜像为基础来启动容器。
# bash:放在镜像名后的是命令,这里我们希望有个交互式shell,因此用的是bash

## 运行镜像的参数有很多,可以使用docker run --help查看。

3. 列出镜像

## 列表包含了仓库名、标签、镜像id、创建时间及所占用空间
docker image ls(效果等同于:docker images)

## 仓库名、标签均为<none>的镜像称为虚悬镜像(dangling image)
docker image ls -f dangling=true(效果等同于:docker images -f dangling=true)

## 虚悬镜像没有存在价值,可以随意删除,使用命令:
docker image prune

延伸阅读:如何产生虚悬镜像?

  1. 创建一个空文件夹(非必须),主要是为了避免构建时引入其他不必要的文件:

mkdir dockerspace

  1. 进入新建的文件夹,并新建Dockerfile文件,内容如下:

FROM ubuntu:16.04

CMD echo "leisure.wang"

  1. 构建镜像:docker build .

4. 查看镜像、容器、数据卷所占用的空间

docker system df

5. 删除本地镜像

## 格式
docker image rm [选项] <镜像1> [<镜像2> ...]
等同于
docker rmi [选项] <镜像1> [<镜像2> ...]

## 批量删除指定类型镜像
# 删除所有仓库名为ubuntu的镜像
docker image rm $(docker image ls -q ubuntu)

## 删除某个镜像之前的镜像
# 删除ubuntu:16.04之前的镜像,不包含ubuntu:16.04
docker image rm $(docker image ls -q -f before=ubuntu:16.04)

6. 容器基本操作

## 列出所有的容器
docker ps -a
等同于
docker container ps -a
等同于
docker container ls -a
等同于
docker container list -a

## 启动已终止的容器
docker start [选项] 容器1 [容器2...]
等同于
docker container start [选项] 容器1 [容器2...]

## 停止容器
docker stop [选项] 容器1 [容器2...]
等同于
docker container stop [选项] 容器1 [容器2...]

## 重启容器
docker restart [选项] 容器1 [容器2...]
等同于
docker container restart [选项] 容器1 [容器2...]

## 删除所有已终止的容器
docker container prune [选项]

7. 进入容器

## 格式
docker exec [选项] 容器 命令 [参数...]

## 示例
docker exec -it 容器ID /bin/bash

8. 导出容器

docker export 容器id > 文件名.tar

9. 导入容器

## 可以使用docker import从容器快照文件中再导入为镜像
cat 文件名.tar | docker import - 用户名/镜像名:标签

## 也可以通过指定URL或者某个目录来导入
docker import http://leisure.wang/imagerepo

10. 登录登出

## 登录
docker login [选项] [仓库地址]
## 登出
docker logout [仓库地址]

11. 搜索镜像

docker search [选项] 镜像名

12. 对镜像重命名、重打标签

docker tag 源镜像[:标签] 目标镜像[:标签]

13. 推送镜像到仓库

## 命令格式
docker push [选项] 镜像名[:标签]

## 说明
如果镜像名不包含仓库地址信息,则会推送至hub.docker.com域个人账户下仓库内,默认私有;
如果镜像名包含了仓库地址信息,则会推送至指定仓库中。

原文地址:http://leisure.wang/?p=118

原文地址:https://www.cnblogs.com/itoak/p/12925497.html