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
Docker镜像常用命令
如果我说想下个jdk,那么在下jdk,Docker还会把centos下下来,然后在下其他的镜像的时候,就只是单纯的下载MySQL了,因为这个MySQL在centos的镜像里,会依赖于之前下载的centos也就是说所以的东西已经下载一次就不会下载第二遍了,这样就是在充分利用资源,这也就是它的沙箱机制
1、下载一个centos镜像:
docker pull 镜像名称:[TAG]
注意:不加TAG,默认下载最新版本latest
docker pull centos/postgresql-96-centos7:latest
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 | 可选参数 |
---|---|
-s | 列出收藏数不小于指定值的镜像 |
–automated | 只列出Docker Hub自动构建类型的镜像 |
3,docker images 列出本机所有镜像
docker images
4、强制删除镜像命令(加 -f就是强制删除,不加则是如果镜像里有容器的话就不能删除,否则有镜像生成的容器再运行时候,会报错,删除失败;)
**decker rmi **
如果是删除有容器的镜像就在前面加 -f
2,删除多个:docker rmi -f 镜像名称1:[TAG] 镜像名称2:[TAG]
中间空格隔开
3,删除全部:docker rmi -f $(docker images -qa)
Docker 容器常用命令
1、Docker创建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
–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列出容器
docker ps [OPTIONS]
OPTIONS | 说明: |
---|---|
-a : | 显示所有的容器,包括未运行的。 |
-f : | 根据条件过滤显示的内容。 |
–format | :指定返回值的模板文件。 |
-l | :显示最近创建的容器。 |
-n | :列出最近创建的n个容器。 |
–no-trunc | –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 ce6343ee288f
不能进入停止的状态的容器
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 容器名
6.Docker重启容器
docker restart 容器ID or 容器名
docker restart f9cadea1a5e7
7.Docker停止容器
docker stop 容器ID or 容器名
docker stop 865b755cd0b2
8.Docker删除容器
docker rm 容器ID
如果删除正在运行的容器,会报错,我们假如需要删除的话,需要强制删除;
强制删除docker rm -f 容器ID
删除多个容器
docker rm -f 容器ID1 容器ID2 中间空格隔开
删除所有容器
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/
over~~~