一、docker 登录登出仓库
1.1 docker login
docker login [OPTIONS] [SERVER]
简参数,参数 |
描述 |
-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 镜像有关
2.1 docker search
docker search [OPTIONS] TERM
# 在Docker Hub中搜索图像
简参数,参数 |
默认 |
描述 |
--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]]
# 将显示所有镜像,它们的存储库和标签以及它们的大小
简参数,参数 |
描述 |
-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]
# 从仓库中获取 镜像
简参数,参数 |
默认 |
描述 |
-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将映像推送至仓库中或自托管的映像。
简参数,参数 |
默认 |
描述 |
--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...]
# 删除一个或多个镜像
简参数,参数 |
描述 |
-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]]
# 将容器修改后 提交到新的镜像中
简参数,参数 |
默认 |
描述 |
-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
简参数,参数 |
描述 |
-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
简参数,参数 |
描述 |
-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...]
# 重启容器
简参数,参数 |
默认 |
描述 |
-t,--time |
10 |
在杀死容器之前等待停止的秒数 |
# 重启 11655fc53333 f85694aa0488
docker restart 11655fc53333 f85694aa0488
3.8 docker rm
docker rm [OPTIONS] CONTAINER [CONTAINER...]
# 删除 一个或多个容器
简参数,参数 |
描述 |
-f,--force |
强制删除正在运行的容器(使用SIGKILL) |
-l,--link |
删除指定的链接 |
-v,--volumes |
删除与容器关联的卷 |
# 简单使用 删除容器51cd441559ac
docker rm 51cd441559ac
# 强制删除 redis 容器
docker rm -f redis
3.9 docker ps
docker ps [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
四、docker 网络有关
refer
内容源自docs.docker.com