Docker基本命令
1、Docker基本命令
启动Docker
systemctl start docker
停止Docker
systemctl stop docker
重启Docker
systemctl restart docker
开机启动Docker
systemctl enable docker
查看Docker概要信息
docker info
查看Docker帮助文档
docker --help
查看Docker版本信息
docker version
2、Docker镜像常用命令
1,docker images 列出本机所有镜像
docker images
列出本机所有镜像
REPOSITORY | 镜像的仓库源 |
---|---|
TAG | 镜像的标签(版本)同一个仓库有多个TAG的镜像,多个版本;我们用REPOSITORY:TAG来定义不同的镜像; |
IMAGE ID | 镜像ID,镜像的唯一标识 |
CREATE | 镜像创建时间 |
SIZE | 镜像大小 |
OPTIONS | 可选参数: |
---|---|
-a | 显示所有镜像(包括中间层) |
-q | 只显示镜像ID |
-qa | 可以组合 |
–digests | 显示镜像的摘要信息 |
–no-trunc | 显示完整的镜像信息 |
2,docker search 搜索镜像
和 https://hub.docker.com/ 这里的搜索效果一样;
OPTIONS | 可选参数: |
---|---|
–no-trunc | 显示完整的镜像描述 |
-s | 列出收藏数不小于指定值的镜像 |
–automated | 只列出Docker Hub自动构建类型的镜像 |
3,docker pull 下载镜像
docker pull 镜像名称:[TAG]
注意:不加TAG,默认下载最新版本latest
4,docker rmi 删除镜像
1,删除单个:docker rmi 镜像名称:[TAG]
如果不写TAG,默认删除最新版本latest
有镜像生成的容器再运行时候,会报错,删除失败;
我们需要加 -f 强制删除
2,删除多个:docker rmi -f 镜像名称1:[TAG] 镜像名称2:[TAG]
中间空格隔开
3,删除全部:docker rmi -f $(docker images -qa)
3、Docker 容器常用命令
1、Docker创建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
docker run tomcat IMAGE aeea3708743f
–name=“容器新名字”: | 为容器指定一个名称; |
---|---|
-i: | 以交互模式运行容器,通常与-t或者-d同时使用; |
-t: | 为容器重新分配一个伪输入终端,通常与-i同时使用; |
-d: | 后台运行容器,并返回容器ID; |
-P: | 随机端口映射,容器内部端口随机映射到主机的端口 |
-p: | 指定端口映射,格式为:主机(宿主)端口:容器端口 |
启动普通容器: docker run --name 别名 镜像ID
启动交互式容器: docker run -it --name 别名 镜像ID 来运行一个容器,取别名,交互模式运行,以及分配一个伪终端,并且进入伪终端;
实例:
docker run -it --name mycentos03 67fa590cfc1c
注意:
1、启动普通容器的方式基本不用,没有伪终端,没有太大价值;
2、启动交互式容器的方式,容器一创建完毕,立即进入伪终端
守护式方式创建并启动容器
docker run -di --name 别名 镜像ID
实例:
docker run -di --name mycentos02 67fa590cfc1c
执行完命令后,终端依然再宿主机上;
启动容器,并执行/bin/bash命令;
docker run -it --name 别名 镜像ID /bin/bash命令
端口映射;
docker run -it -p 8888:8080 tomcat
docker run -it -P tomcat
2、Docker列出容器
docker ps [OPTIONS] | OPTIONS说明: |
---|---|
-a : | 显示所有的容器,包括未运行的。 |
-f : | 根据条件过滤显示的内容。 |
–format : | 显示所有的容器,包括未运行的。 |
-l : | 显示最近创建的容器。 |
-n : | 列出最近创建的n个容器。 |
–no-trunc : | 不截断输出。 |
-q : | 静默模式,只显示容器编号。 |
-s : | 显示总的文件大小。 |
docker ps 查看正在运行的容器
docker ps -a 查看所有容器
docker ps -n 2 显示最近创建的2个容器
docker ps -f status=exited 查看停止的容器
3、Docker退出容器
exit 容器停止退出
ctrl+P+Q 容器不停止退出
4、Docker进入容器
a、docker attach 容器ID or 容器名
实例:
docker attach be3862cb7c67
不能进入停止的状态的容器
You cannot attach to a stopped container, start it first
b、Docker进入容器执行命令
docker exec -it 容器名称 或者 容器ID 执行命令
实例:
docker exec -it tomcat02 ls -l /root/webapp02
直接操作容器,执行完 回到 宿主主机终端;
我们一般用于 启动容器里的应用 比如 tomcat nginx redis elasticsearch等等
5、Docker启动容器
docker start 容器ID or 容器名
实例:
docker start myjdk01
6、Docker重启容器
docker restart 容器ID or 容器名
实例:
docker restart f9cadea1a5e7
7、Docker停止容器
docker stop 容器ID or 容器名
实例:
docker stop 865b755cd0b2
暴力删除,直接杀掉进程 (不推荐)
docker kill 容器ID or 容器名
8、Docker删除容器
docker rm 容器ID
如果删除正在运行的容器,会报错,我们假如需要删除的话,需要强制删除;
强制删除docker rm -f 容器ID
删除多个容器
docker rm -f 容器ID1 容器ID2 中间空格隔开
实例:
docker rm 865b755cd0b2 ce6343ee288f
删除所有容器
docker rm -f $(docker ps -qa)
9、Docker容器日志
$ docker logs [OPTIONS] CONTAINER
Options:
–details 显示更多的信息
-f, --follow 跟踪实时日志
–since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
–tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
–until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
(以上了解即可)
推荐简单粗暴方式,直接去docker容器文件里找;
具体未知:/var/lib/docker/containers/