目录
docker rmi -f $(docker images -pa)
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
docker exec -it 容器ID BashShell
帮助启动类命令
启动docker
[root@vanqiyeah /]# systemctl start docker
停止docker
[root@vanqiyeah /]# systemctl stop docker
重启docker
[root@vanqiyeah /]# systemctl restart docker
查看docker状态
[root@vanqiyeah /]# systemctl status docker
开机启动
[root@vanqiyeah /]# systemctl enable docker
查看docker概要信息
[root@vanqiyeah /]# docker info
查看docker帮助文档
[root@vanqiyeah /]# docker --help
镜像命令
docker images
列出本地主机上的镜像:
[root@vanqiyeah /]# docker images
-a:列出本地所有镜像(包含历史映像层)
[root@vanqiyeah /]# docker images -a
-q:只显示镜像ID
[root@vanqiyeah /]# docker images -q
docker search
docker search [镜像名]
[root@vanqiyeah /]# docker search mysql
--limit:列出n个镜像,默认25个
[root@vanqiyeah /]# docker search mysql --limit 5
docker pull
docker pull 镜像名:[TAG]
[root@vanqiyeah /]# docker pull mysql:5.7
若不添加TAG则默认下载最新版
[root@vanqiyeah /]# docker pull hello-world
docker system df
查看镜像/容器/数据卷所占用的空间
[root@vanqiyeah /]# docker system df
docker rmi
docker rmi [镜像ID]
[root@vanqiyeah /]# docker rmi feb5d9fea6a5
docker rmi -f $(docker images -pa)
删除全部,这里就不演示了。。不要轻易使用!
docker虚悬镜像
虚悬镜像就是仓库名和标签都为<none>的镜像,俗称虚悬镜像dangling image,一般是建议直接删除。
容器命令
docker run
docker run [options] image [command] [arg...]
[root@vanqiyeah /]# docker run -it ubuntu /bin/bash
docker ps [options]
docker ps
列出当前正在运行的容器
[root@vanqiyeah /]# docker ps
-a
列出所有容器
[root@vanqiyeah /]# docker ps -a
退出容器
exit
xshell中可以使用ctrl+D
root@9376d1e98be7:/# exit
ctrl+p+q
run进去容器,ctrl+p+q退出,容器不会停止运行
docker start 容器ID或容器名
[root@vanqiyeah /]# docker start ubuntu
docker restart 容器ID或容器名
[root@vanqiyeah /]# docker restart ubuntu
docker stop 容器ID或容器名
[root@vanqiyeah /]# docker stop ubuntu
docker kill 容器ID或容器名
[root@vanqiyeah /]# docker kill ubuntu
docker rm 容器ID
[root@vanqiyeah /]# docker rm 9376d1e98be7
docker rm -f $(docker ps -a -q)
一次删除多个容器,不做演示了
docker ps -a -q | xargs docker rm
一次删除多个容器,不做演示了
启动守护式容器(后台服务器)
docker run -d 容器名
[root@vanqiyeah /]# docker run -d redis
此处演示一下redis的-it前台启动
[root@vanqiyeah /]# docker run -it redis /bin/bash
docker logs 容器ID
查看容器日志
[root@vanqiyeah /]# docker logs b76cb0a31fb8
docker top 容器ID
查看容器内运行的进程
[root@vanqiyeah /]# docker top b76cb0a31fb8
docker inspect 容器ID
查看容器内部细节
[root@vanqiyeah /]# docker inspect b76cb0a31fb8
进入正在运行的容器并以命令交互
docker exec -it 容器ID BashShell
[root@vanqiyeah /]# docker exec -it mysql8.0 /bin/bash
重新进入 docker attach 容器ID
[root@vanqiyeah /]# docker attach 8b6df60e73d0
attach与exec的区别
attach直接进入容器启动命令的终端,不会启动新的进程,使用exit退出时,会导致容器的停止。
exec是在容器中打开新的终端,不会启动新的进程,使用exit退出时,不会导致容器的停止。
docker cp 容器ID:容器内路径 目的主机路径
从容器拷贝文件到主机上
[root@vanqiyeah /]# docker cp 4dd4a4a4a2a7:/tmp/a.txt /
export / import
export导出容器的内容作为一个tar归档文件
[root@vanqiyeah /]# docker export 4dd4a4a4a2a7 > 1.tar
import从tar包中创建一个新的文件系统再导入为镜像
cat 文件名.tar | docker import - 镜像用户名/镜像名:镜像版本号
[root@vanqiyeah /]# cat 1.tar | docker import - root/van:1.0