docker 常用命令
1、帮助命令
命令1:
# 显示docker的版本信息
docker version
截图:
命令2:
# 显示docker的系统信息,包括镜像和容器的数量
docker info
截图:
命令3:
# 帮助命令
docker 命令 --help
截图:
官方帮助文档地址:
https://docs.docker.com/reference/
2、镜像命令
1. docker images 查看所有本地的主机上的镜像
解释:
- REPOSITORY 镜像的仓库源
- TAG 镜像的标签
- IMAGE ID 镜像的id
- CREATED 镜像的创建时间
- SIZE 镜像的大小
可选项:
- -a, --all 列出所有镜像
- -q, --quiet 列出所有镜像的id
2. docker search 搜索镜像
可选项
- –filter=STARS=1000 搜索STARS超过1000的镜像
截图:
3. docker pull 镜像名[:tag] 下载镜像
可选项
下载指定版本,指定版本需要在docker hub中存在
docker pull tomcat:7.0
截图:
4. docker rmi 删除镜像
docker rmi -f 镜像id
截图:
可选项
# 删除多个镜像 id用空格分开
docker rmi -f 镜像id 镜像id 镜像id
# 删除所有
docker rmi -f $(docker images -aq)
3、容器命令
1. 下载Linux镜像
说明:当我们拥有镜像,才能创建容器,对于Linux,我们可以下载一个centOS来测试学习。
命令:
docker pull centos
截图:
2. 新建容器并启动
命令:
docker run [可选参数] image
参数说明:
- –name=“Name” 容器名字 tomcat01 tomcat02 用来区分容器
- -d 后台方式运行
- -it 使用交互方式运行,进入容器查看内容
- -P 指定容器的端口 -P 8080:8080
- -p 随机指定端口
截图:
从容器退出到主机:
exit #直接停止容器并退出
Ctrl + P + Q #容器不停止退出
3. 列出运行的容器
命令:
docker ps 参数
参数说明:
- 没有参数 #列出当前正在运行的容器
- -a #列出当前正在运行的容器 + 历史运行的容器
- -n=? #显示最近创建的容器
- -q #只显示容器的编号
截图:
4. 删除容器
命令:
docker rm 容器id #删除指定容器
docker rm -f $(docker ps -aq) #删除所有容器
截图:
5. 启动和停止容器
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行的容器
docker kill 容器id #强制停止当前正在运行的容器
截图:
4、常用其他命令
1. 后台启动容器
命令:
docker run -d 镜像名
截图:
问题:docker ps,发现centos停止了
常见的坑:docker 容器使用后台,就必须要有一个前台进程,docker发现没有应用,就会自动停止
比如nginx,容器启动后,发现自己没有提供服务,就会立即停止,就是没有程序了
2. 查看日志
命令:
docker logs -f -t --tail 日志的行数 容器
截图:
3. 查看容器中进程信息
命令:
docker top 容器id
截图:
4. 查看镜像的元数据
命令:
docker inspect 容器id
截图:
5. 进入当前正在运行的容器
我们的容器通常都是使用后台方式运行的,需要进入容器,修改一些配置
命令1
docker exec -it 容器id /bin/bash
截图:
命令2
docker attach 容器id
截图:
两种方式的区别:
docker exec
进入容器后开启一个新的终端,可以在里面操作(常用)docker attach
进入容器正在执行的终端,不会启动新的进程
6. 从容器内拷贝文件到主机
命令:
docker cp 容器id:容器内的路径 主机内的目标路径
截图:
5、命令小结
# 显示docker的版本信息
docker version
# 显示docker的系统信息,包括镜像和容器的数量
docker info
docker images #查看所有本地的主机上的镜像
docker search #搜索镜像
docker pull 镜像名[:tag] #下载镜像
docker rmi -f 镜像id #删除一个镜像
# 删除多个镜像 id用空格分开
docker rmi -f 镜像id 镜像id 镜像id
# 删除所有
docker rmi -f $(docker images -aq)
docker pull centos #下载centos镜像作为容器
docker run [可选参数] image #运行容器
exit #直接停止容器并退出
Ctrl + P + Q #容器不停止退出
docker ps 参数 #列出正在运行的容器
docker rm 容器id #删除指定容器
docker rm -f $(docker ps -aq) #删除所有容器
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行的容器
docker kill 容器id #强制停止当前正在运行的容器
docker run -d 镜像名 #后台启动容器
docker logs -f -t --tail 日志的行数 容器 #查看日志
docker top 容器id #查看进程中的信息
docker inspect 容器id #查看镜像的元数据
docker exec -it 容器id /bin/bash #进入容器后开启一个新的终端,可以在里面操作(常用)
docker attach 容器id #进入容器正在执行的终端,不会启动新的进程
docker cp 容器id:容器内的路径 主机内的目标路径 #从容器内拷贝文件到主机