docker常用命令
镜像命令
docker images
OPTIONS说明:
-a :列出本地所有的镜像(含历史映像层)
-q :只显示镜像ID。
docker search
OPTIONS说明:
–limit : 只列出N个镜像,默认25个
docker search --limit 5 redis
docker pull
docker pull 镜像名字[:TAG]
没有TAG就是最新版等价于docker pull 镜像名字:latest
docker system df 查看镜像/容器/数据卷所占的空间
docker rmi 某个XXX镜像名字ID
删除单个. docker rmi -f 镜像ID
删除多个就别学了,小心坐牢
容器命令
新建+启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
OPTIONS说明(常用):
有些是一个减号,有些是两个减号
–name=“容器新名字” 为容器指定一个名称;
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;也即启动交互式容器(前台有伪终端,等待交互);
-P: 随机端口映射,大写P
-p: 指定端口映射,小写p
#使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。docker run -it centos /bin/bash 参数说明:-i: 交互式操作。-t: 终端。centos : centos 镜像。/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。要退出终端,直接输入 exit:
退出容器
两种退出方式
exit
run进去容器,exit退出,容器停止
ctrl+p+q
run进去容器,ctrl+p+q退出,容器不停止
重点:进入正在运行的容器,并以命令行交互
docker exec -it 容器ID bashShell
(另外还有一种重新进入docker attach 容器ID,但是这个exit会stop掉对应的容器实例,一般不用。)
最佳实践。一般用-d后台启动的程序,再用exec进入对应容器实例
docker exec -it 容器ID /bin/bash
docker exec -it 容器ID redis-cli
容器相关命令
启动已停止运行的容器
docker start 容器ID或者容器名
重启容器
docker restart 容器ID或者容器名
停止容器
docker stop 容器ID或者容器名
强制停止容器
docker kill 容器ID或容器名
删除已停止的容器
docker rm 容器ID
重点:启动守护式容器(后台服务器)
docker run -d 容器名
docker run -d redis:6.0.8
查看容器日志
docker logs 容器ID
查看容器内运行的进程
docker top 容器ID
查看容器内部细节
docker inspect 容器ID
从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径 目的主机路径
导入和导出容器
export 导出容器的内容留作为一个tar归档文件[对应import命令]
docker export 容器ID > 文件名.tar
docker export 33a3eab6f3ca > /tmp/123.tar
import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
cat 123.tar |docker import - ubuntu:myTag