docker version
docker info
docker --help
docker images
# 列出本地所有的镜像(含中间映像层)
docker images -a
# 只显示镜像ID
docker images -q
# 显示镜像的摘要信息
docker images --digests
# 显示完整的镜像信息
docker images --no-trunc
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间.
SIZE:镜像大小
docker search
# 查找30颗星以上的tomcat
docker search -s 30 tomcat
docker pull tomcat
docker pull tomcat:latest
# docker rmi
# 删除单个镜像
docker rmi hello-world
# 强制删除单个镜像
docker rmi -f hello-world
docker rmi -f hello-world:latest
docker rmi -f fce289e99eb9
# 强制删除多个镜像
docker rmi -f aaa bbb ccc
# 删除所有的镜像
docker rmi -f $(docker images -qa)
OPTIONS说明:
(1)使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
(2)使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
docker run -P -d nginx:latest
(3)使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
(4)绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
(5)使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
docker run -it nginx:latest /bin/bash
docker run -d centos /bin/bash -c "nohup ping -i 1000 www.baidu.com"
命令语法:
docker ps [OPTIONS]
OPTIONS说明:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
(1)列出所有在运行的容器信息。
docker ps
输出信息介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
状态有7种:
- created(已创建)
- restarting(重启中)
- running(运行中)
- removing(迁移中)
- paused(暂停)
- exited(停止)
- dead(死亡)
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
(2)列出最近创建的5个容器信息。
docker ps -n 5
(3)列出所有创建的容器ID。
docker ps -a -q
exit
conrol+Q+P
docker start e4e2ec69dde3
docker restart e4e2ec69dde3
docker stop e4e2ec69dde3
docker kill e4e2ec69dde3
# 删除已停止的容器
docker rm e4e2ec69dde3
# 强制删除容器
docker rm -f e4e2ec69dde3
# 删除所有容器
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
docker run -d centos /bin/sh -C "while true;do echo hello;sleep 2;done"
docker logs e4e2ec69dde6
docker logs -t -f --tail 3 e4e2ec69dde6
# docker top 容器ID
docker top e4e2ec69dde6
# docker inspect 容器ID
docker inspect e4e2ec69dde6
# docker exec -it 容器ID bashshell
docker exec -t e4e2ec69dde6 ls -l /tmp
# 进入正在运行的容器并以命令行交互
# docker attach 容器ID
docker attach e4e2ec69dde6
# docker cp 容器ID:容器内路径 目的主机目录
docker cp e4e2ec69dde6:/tmp/t.log /tmp
docker inspect --format='{{.NetworkSettings.IPAddress}}' nginx