docker 常用命令

记录 docker 常用命令

基础命令

1
2
3
docker version	#显示docker的版本信息
docker info #显示docker的系统信息,包括镜像和容器的数量
docker --help #docker帮助命令

镜像命令

1
2
3
4
5
6
7
8
docker images	查看所有本地主机上的镜像
docker search mysql 搜索镜像
docker pull mysql 下载镜像
docker pull mysql:5.7 指定版本下载
docker rmi -f ID/name 删除镜像
docker rmi -f 容器id 删除指定的镜像
docker rmi -f 镜像id 镜像id 镜像id 镜像id 删除多个镜像
docker rmi -f $(docker images -aq) #删除全部镜像

容器命令

有了镜像才可以创建容器

新建容器并启动

1
docker run [可选参数] image

列出所有运行的容器

1
2
3
4
docker ps 命令
-a #列出当前正在运行的容器+带出历史运行中的容器
-n=? #显示最近创建的容器
-q #只显示容器的编号

删除容器

1
2
3
docker rm 容器id	#删除指定的容器,不能删除在运行的容器,如果要强制删除 rm -f
docker rm -f $(docker ps -aq) #删除所有的容器
docker ps -a -q|xargs docker rm #删除所有的容器

退出容器

1
2
exit	#直接容器停止并退出
ctrl + P + Q #容器不停止退出

启动和停止容器的操作

1
2
3
4
docker start 容器id	#启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行的容器
docker kill 容器id #停止当前容器

常用其他命令

后台启动容器

1
docker run -d 镜像名

查看日志

1
docker logs -f -t --tail 容器

查看容器中的进程信息 ps

1
docker top 容器id

查看镜像的元数据

1
docker inspect 容器id

进入当前正在运行的容器

1
2
3
4
5
6
7
8
9
10
11
12
#我们通常都是使用后台的方式运行的,需要进入容器,修改一些配置
#命令
#方法一:
docker exec -it 容器id bashshell
eg:docker exec -it 容器id /bin/bash
ls
ps -ef
#方法二:
docker attach 容器id

docker exec #进入容器后开启一个新的终端,可以在里面操作(常用)
docker attach #进入容器正在执行的终端,不会启动新的进程

从容器内拷贝文件到主机上

1
2
3
4
docker cp 容器id:容器内路径	目的主机路径
docker cp 容器id:/home/test.java /home

#拷贝是一个手动过程,未来我们使用 -v卷的技术,可以实现