docker 常用命令

一、docker 登录登出仓库

1.1 docker login

  • 格式
docker login [OPTIONS] [SERVER] 
  • OPTIONS 参数
简参数,参数 描述
-p, --password 密码 (不建议直接使用, 防止历史记录)
--password-stdin 从标准输入密码
-u,--username 用户名
  • 例子
#登录至localhost:8080
docker login localhost:8080

# 登录docker 官网, 用户名jinmz
docker login -u jinmz


# 使用STDIN提供的密码. 在password中写上用户密码
cat password.txt | docker login -u jinmz --password-stdin

1.2 docker logout

  • 格式
docker logout [SERVER]
  • 例子
docker logout localhost:8080

二、docker 镜像有关

  • 格式
docker search [OPTIONS] TERM
# 在Docker Hub中搜索图像
  • OPTIONS 参数
简参数,参数 默认 描述
--automated 仅显示自动构建(不推荐使用)
-f,--filter 根据提供的条件过滤输出
--format 使用Go模板进行漂亮的打印搜索
--limit 25 最多搜索结果数
--no-trunc 不要截断输出
  • 例子
# 简单查找案列
docker search nginx

# 查找 stars超过100的 并至显示3条 的nginx镜像
docker search  --limit 3 -f stars=100 nginx

# 查找 官方推荐的并stars 超过3颗的mysql镜像
docker search -f "is-official=true" -f "stars=3" mysql

2.2 docker images

  • 格式
docker images [OPTIONS] [REPOSITORY[:TAG]]
# 将显示所有镜像,它们的存储库和标签以及它们的大小
  • OPTIONS 参数
简参数,参数 描述
-a,--all 显示所有镜像(默认隐藏中间图像)
--digests 显示摘要
--filter , -f 根据提供的条件过滤输出
--format 使用Go模板打印漂亮的图像
--no-trunc 不要截断输出
-q,--quiet 仅显示数字ID
  • 例子
# 显示所有镜像
docker images

#  显示nginx:latest镜像
docker images nginx:latest

# 显示所有images ID
docker images -q

# 显示所有镜像, 包含隐藏中间图像
docker images -a 

# 显示未标记的镜像
docker images -f dangling=true 

2.3 docker pull

  • 格式
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
# 从仓库中获取 镜像
  • OPTIONS 参数
简参数,参数 默认 描述
-a,--all-tags 下载存储库中所有标记的图像
--disable-content-trust true 跳过图像验证
--platform 实验(守护程序)API 1.32+如果服务器具有多平台功能,请设置平台
-q,--quiet 禁止详细输出
  • 例子
# 简单使用
docker pull centos:7

2.4 docker tag

  • 格式
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
  • 例子
# 将nginx:latest 标记为 127.0.0.1:5000/jmz/nginx:v1,  此时你会发现 多了一个127.0.0.1:5000/jmz/nginx:v1的镜像
docker tag nginx:latest 127.0.0.1:5000/jmz/nginx:v1

# 将镜像ID 为0e5574283393 标记为 127.0.0.1:5000/jmz/nginx:v1
docker tag 0e5574283393 127.0.0.1:5000/jmz/nginx:v1

2.5 docker push

  • 格式
docker push [OPTIONS] NAME[:TAG]
# 用于docker push将映像推送至仓库中或自托管的映像。
  • OPTIONS 参数
简参数,参数 默认 描述
--disable-content-trust true 跳过图像签名
  • 例子
# 简单的推送
docker push  127.0.0.1:5000/jmz/nginx:v1

# 推送至hub docker 上(jinmz 是我的用户名,请使用自己的用户名)
docker push jinmz/nginx:latest

2.6 docker rmi

  • 格式
docker rmi [OPTIONS] IMAGE [IMAGE...]
# 删除一个或多个镜像
  • OPTIONS 参数
简参数,参数 描述
-f,--force 强制删除图像
--no-prune 不要删除未加标签的parent
  • 例子
# 删除镜像ID为 fd484f19954f e0758e87ff38的镜像
docker rmi fd484f19954f e0758e87ff38

# 删除nginx:latest 镜像 
docker rmi nginx:latest

三、docker 容器有关

3.1 docker commit

  • 格式
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
# 将容器修改后 提交到新的镜像中
  • OPTIONS 参数
简参数,参数 默认 描述
-a,--author 作者(例如“ John Hannibal Smith hannibal@a-team.com ”)
-c,--change 将Dockerfile指令应用于创建的映像
-m,--message 提交讯息
-p,--pause true 提交期间暂停容器
  • 例子
# 将容器ID c3f279d17e0a 提交生成一个新的镜像svendowideit/testimage:version3
docker commit c3f279d17e0a  svendowideit/testimage:version3

# 
docker commit -a jmz@XXX.com -m "重新修改好了" 2a8547eb1316 jinmz/nginx:v2

3.2 docker inspect

  • 格式
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
# Docker inspect提供了有关由Docker控制的构造的详细信息
# 默认json
  • OPTIONS 参数
简参数,参数 描述
-f,--format 使用给定的Go模板格式化输出
-s,--size 如果类型为容器,则显示文件总大小
--type 返回指定类型的JSON
  • 例子
# 简单使用 打印b261c294b2b6  951024f69423 两个容器的详细信息
docker inspect b261c294b2b6  951024f69423

3.3 docker port

  • 格式
docker port CONTAINER [PRIVATE_PORT[/PROTO]]
列出端口映射或容器的特定映射
  • 例子
# 查看nginx 容器的端口映射
docker port nginx

# 查看nginx 容器80 端口的映射
docker port nginx 80/tcp 

3.4 docker cp

  • 格式
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
  • OPTIONS 参数
简参数,参数 描述
-a,--archive 存档模式(复制所有uid / gid信息)
-L,--follow-link 始终遵循SRC_PATH中的符号链接
  • 例子
# 将本地./data 文件夹 copy 到 容器4cac9773ca5e 的/var/data
docker cp ./data 4cac9773ca5e:/var/data

3.5 docker rename

  • 格式
docker rename CONTAINER NEW_NAME
# 重命名容器
  • 例子
# 将容器ID 11655fc53333 的容器,重名成hello_jmz_111
docker rename 11655fc53333 hello_jmz_111

3.6 docker restart

  • 格式

3.7 docker stop

  • 格式
docker restart [OPTIONS] CONTAINER [CONTAINER...]
# 重启容器
  • OPTIONS 参数
简参数,参数 默认 描述
-t,--time 10 在杀死容器之前等待停止的秒数
  • 例子
# 重启 11655fc53333 f85694aa0488
docker restart 11655fc53333 f85694aa0488

3.8 docker rm

  • 格式
docker rm [OPTIONS] CONTAINER [CONTAINER...]
# 删除 一个或多个容器
  • OPTIONS 参数
简参数,参数 描述
-f,--force 强制删除正在运行的容器(使用SIGKILL)
-l,--link 删除指定的链接
-v,--volumes 删除与容器关联的卷
  • 例子
# 简单使用 删除容器51cd441559ac
docker rm 51cd441559ac

# 强制删除 redis 容器
docker rm -f redis 

3.9 docker ps

  • 格式
docker ps [OPTIONS]
# 列出容器
  • OPTIONS 参数
简参数,参数 默认 描述
-a,--all 显示所有容器(默认显示为正在运行)
-f,--filter 根据提供的条件过滤输出
--format 使用Go模板打印漂亮的容器
-n,--last -1 显示n个最后创建的容器(包括所有状态)
-l,--latest 显示最新创建的容器(包括所有状态)
--no-trunc 不要截断输出
-q,--quiet 仅显示数字ID
-s,--size 显示文件总大小
  • 例子
# 列出正在运行的容器
docker ps 

# 列出所有的容器
docker ps -a

# 列出所有容器的ID
docker ps -a -q

3.10 docker run

四、docker 网络有关

4.1 docker network

refer

内容源自docs.docker.com

posted @ 2020-01-17 15:58  xiaobaiskill  阅读(477)  评论(0编辑  收藏  举报