Docker学习笔记三:Docker常用的命令
Docker常用的命令-镜像
1、镜像相关的命令
- docker images # 查看本地所有的镜像
- docker images -q 镜像名 # 查看镜像所用的ID
- docker search 镜像名 # 从网络中查找需要的镜像
- docker pull 镜像名[:版本号] # 从Docker仓库下载镜像,不指定版本则为最新版本
- docker rmi 镜像名/ID # 删除指定本地镜像
- docker rmi ‘docker images -q’ # 删除本地所有镜像
- docker stats # 获取当前机器上运行容器的统计信息,如:cpu利用率、内存使用率等
- docker save -o /root/xxx.tar REPOSITORY:TAG # 指定镜像的REPOSITORY、TAG将将镜像导入到/root/xxx.tar文件下(方便导入镜像时自带tag信息)
- docker save 镜像ID > /root/xxx.tar # 通过镜像ID将镜像导入到/root/xxx.tar文件下(导入镜像时不会自带tag信息)
- docker tag 镜像ID REPOSITORY:TAG # 修改镜像的REPOSITORY、TAG信息
- docker load -i /root/xxx.tar # 通过导出的镜像包,将镜像导入镜像仓库(导出时没有指定repository、tag,导入后都显示None)
Docker常用的命令-容器
1、容器相关的命令
- docker ps # 查看正在运行的容器
- docker ps -a # 查看所有的容器,比较长的内容会省略展示
- docker ps -a --no-trunc # 查看所有的容器,不截断展示所有的内容
- docker inspect 容器名称 # 查看容器信息
- docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名/ID # 查看IP地址,针对容器是centos镜像的才会有ip地址展示
- docker exec -it 容器名称/ID [/bin/]bash # 进入容器中
- exit # 在容器内执行则退出容器,容器不会关闭
- docker ps -f status=exited # 查看停止的容器
- docker start 容器名称/ID # 启动容器
- docker start $(docker ps -a -q) # 启动所有容器,无法控制启动的顺序,如果遇到有依赖关系,可能需要运行两次
- docker stop 容器名称/ID # 停止容器
- docker stop $(docker ps -a -1) # 停止所有容器
- docker logs 容器名称/ID # 查看容器的日志
- docker logs 容器名称/ID | more # 查看容器的日志,如果日志比较长可用" | more"
- docker logs -f 容器名称/ID # 查看容器实时日志
- docker logs 容器名称/ID > /tmp/xxx.log # 将容器的日志保存到指定的文件中
- docker rm 容器名称/ID # 删除容器,需要先停止再删除,避免失败
- docker cp 需拷贝的文件或目录 容器名/ID:容器目录 # 将文件拷进容器(在宿主机器运行命令,而不是容器内部)
- docker cp 容器名/ID:容器目录 需拷贝的文件或目录 # 将文件拷出容器(在宿主机器运行命令,而不是容器内部)
-
docker run 参数 # 创建并启动容器
- -i:保持容器运行、通常与-t同时使用,加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭
- -t:为容器重新分配一个伪输入终端,通常与-i同时使用
-
-v: 创建容器的时,映射目录参数
- 将宿主机目录与容器内的目录进行映射,通过修改宿主机的某个目录从而影响容器
- 当修改容器目录,宿主机目录也会实时更新,格式:-v宿主机目录:容器目录
- 如果映射多级目录可能出现权限不足提示,因为CentOS7的安全模块selinux把权限禁掉了,需添加参数--privileged=true,解决挂载目录没有权限的问题
- -d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec进入容器。退出后,容器不会关闭
- -it:创建的容器一般称为交互式容器,-id创建的容器一般称守护式容器
- --name:为创建的容器命名
2、进入容器后,解决无法使用Linux基本命令
- 创建的容器一般是基于Ubuntu镜像,命令与CentOS有些细微的区别
- apt-get update
- apt-get install vim(需要安装的命令名称)
3、Docker格式化显示指定的列
- 格式:docker ps [-a] --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
|
名称 |
含义 |
|
.ID |
容器ID |
|
.Image |
镜像ID |
|
.Command |
执行的命令 |
|
.CreatedAt |
容器创建时间 |
|
.RunningFor |
运行时长 |
|
.Ports |
暴露的端口 |
|
.Status |
容器的状态 |
|
.Names |
容器的名称 |
|
.Label |
分配给容器的所有标签 |
|
.Mounts |
容器挂在的卷 |
|
.Networks |
容器所用的网络名称 |