1. image 镜像
命令 | 含义 | 语法 | 案例 |
---|---|---|---|
ls | 查看全部镜像 | docker image ls | |
search | 查找镜像 | docker search [imageName] | |
history | 查看镜像历史 | docker history [imageName] | |
inspect | 显示一个或多个镜像详细信息 | docker inspect [imageName] | |
pull | 拉取镜像 | docker pull [imageName] | |
push | 推送一个镜像到镜像仓库 | docker push [imageName] | |
rmi | 删除镜像 | docker rmi [imageName] docker image rmi 2 | |
prune | 移除未使用的镜像,没有标记或补任何容器引用 | docker image prune | docker image prune |
tag | 标记本地镜像,将其归入某一仓库 | docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG] | docker tag centos:7 zhangrenyang/centos:v1 |
export | 将容器文件系统作为一个 tar 归档文件导出到 STDOUT | docker export [OPTIONS] CONTAINER | docker export -o hello-world.tar b2712f1067a3 |
import | 导入容器快照文件系统 tar 归档文件并创建镜像 | docker import [OPTIONS] file/URL/- [REPOSITORY[:TAG]] | docker import hello-world.tar |
save | 将指定镜像保存成tar 文件 |
docker save [OPTIONS] IMAGE [IMAGE…] | docker save -o hello-world.tar hello-world:latest |
load | 加载 tar 文件并创建镜像 | docker load -i hello-world.tar | |
build | 根据 Dockerfile 构建镜像 | docker build [OPTIONS] PATH / URL / - | docker build -t zf/ubuntu:v1 . |
bash
docker image ls #查看镜像
docker search ubuntu #查找镜像
docker pull docker.io/hello-world # 拉取镜像
docker image pull docker.io/hello-world # 拉取镜像
docker rmi hello-world # 删除镜像
docker export -o [新输入镜像的名称] [容器ID]
2. container 容器
常用命令
bash
docker --help
# 启动容器
# -i --interactive 交互式
# -t --tty 分配一个伪终端
# -d --detach 运行容器到后台
# -a --attach list 附加到运行的容器
# -e --env list 设置环境变量
# -p --publish list 发布容器端口到主机
# -P --publish-all 自己分配端口
# --name Assign a name to the container
docker run ubuntu /bin/echo "Hello world"# Docker以ubuntu镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果
docker run -d -p 1010:80 -e username="ghx" --name ghx-nginx nginx
docker container exec -it 3695dc5b9c2d /bin/bash #进入容器
# 查看容器
## -q, --quiet Only display container IDs
docker ps # 查看当前运行的容器
docker ps -a #显示所有的容器,包括已停止的
docker ps -l #显示最新的那个容器
docker ps -a -q #显示所有的容器ID
docker inspect [containerId] #显示一个或多个容器详细信息
# 运行交互式的容器
## -t, --tty 在新容器内指定一个伪终端或终端。
## -i, --interactive 允许你对容器内的标准输入 (STDIN) 进行交互。
## -p --port 端口映射
docker run -i -t ubuntu /bin/bash
docker run -d -p 8080:80 nginx
exit
# 后台运行容器
## -d, --detach Run container in background and print container ID
docker run -d centos ping www.baidu.com
docker logs --follow [containerId]
# 杀死容器
## kill是不管容器同不同意,直接执行kill,强行终止;
docker kill [containerId]
# #删除容器
docker rm [containerId] #删除容器
docker rmi [imageId] #删除镜像
docker rm $(docker ps -a -q) # 删除所有容器
#启动容器
docker start [containerId]
# 停止容器
## stop,首先给容器发送一个TERM信号,让容器做一些退出前必须的保护性、安全性操作,然后让容器自动停止运行,如果在一段时间内,容器还是没有停止,再进行kill,强行终止
docker stop [containerId]
# 进入一个容器
docker attach [containerID] # 要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕
docker exec -it [containerID] /bin/bash #进入一个正在运行中的容器
#拷贝文件
##从正在运行的 Docker 容器里面,将文件拷贝到本机
docker container cp f6a53629488b:/root/root.txt .
#自动删除
docker run --rm ubuntu /bin/bash
docker container stats#显示一个容器运行的进程
docker update -m 500m [containerID] #更新一个或多个容器配置
#端口映射
docker run -d -p 8080:80 nginx
docker container port containerID
# 查看 docker 容器的输出
## -f, --follow Follow log outpu
docker logs [containerId]
docker logs -f [containerId]