Docker常用命令
查看安装了什么版本docker
docker version
列出所有容器ID
docker ps -aq
查看所有运行或者不运行容器
docker ps -a
停止所有的container(容器),这样才能够删除其中的images:
docker stop $(docker ps -a -q) 或者 docker stop $(docker ps -aq)
如果想要删除所有container(容器)的话再加一个指令:
docker rm $(docker ps -a -q) 或者 docker rm $(docker ps -aq)
查看当前有些什么images
docker images
删除images(镜像),通过image的id来指定删除谁
docker rmi <image id>
想要删除untagged images,也就是那些id为的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除全部image(镜像)的话
docker rmi $(docker images -q)
强制删除全部image的话
docker rmi -f $(docker images -q)
从容器到宿主机复制
docker cp tomcat:/webapps/js/text.js /home/admin docker cp 容器名: 容器路径 宿主机路径
从宿主机到容器复制
docker cp /home/admin/text.js tomcat:/webapps/js docker cp 宿主路径中文件 容器名 容器路径
删除所有停止的容器
docker container prune
删除所有不使用的镜像
docker image prune --force --all或者docker image prune -f -a
停止、启动、杀死、重启一个容器
docker stop Name或者ID docker start Name或者ID docker kill Name或者ID docker restart name或者ID
删除容器
docker image rm id
拉取docker出现错误时可能解决问题的办法
#清理docker数据缓存
docker system prune
#有时重启docker能解决奇奇怪怪的问题
sudo systemctl restart docker
设我们的镜像名叫 redis 容器名 叫 redis,名称都可以用id来替换
镜像操作
docker images 查看docker镜像
docker rmi redis 删除镜像
docker inspect redis 获取容器/镜像的元数据。
容器操作
docker ps 正在运行的容器
docker ps -a 查看所有的容器
docker run --name redis -p 8080:8080 -d redis:latest 新建并运行一个容器
--name redis: 为容器指定一个名称;
-p 是端口映射 宿主机端口:容器端口 ,访问对应的宿主机端口就可以访问到指定的容器端口,
-d 指定容器后台运行。
-v 宿主机文件:容器文件 进行目录或文件映射,比如 /data:/data 将redis容器的/data文件夹的内容映射到宿主机,可以用来持久化数据
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--rm 退出时自动清理容器并移除文件系统
docker start 容器名或id 开启容器
docker restart 重启容器
docker stop 关闭容器
docker rm 删除容器
docker exec redis (linux 命令) 比如 docker exec redis ls / 在redis容器内部执行命令行 ls / 查看根目录文件
docker exec -it redis /bin/bash 命令行模式进入redis容器内部
docker cp /data/log redis:/log 将宿主机的 /data/log 目录复制到 redis容器中的 /log目录下 源目录:目标目录
docker logs --since="2020-07-01" --tail=10 redis 查看指定日期后最新10条日志信息
-f : 跟踪日志输出
--since :显示某个开始时间的所有日志
-t : 显示时间戳
--tail :仅列出最新N条容器日志
————————————————