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

容器所用的网络名称 

原文地址:https://www.cnblogs.com/jason2018524/p/15767699.html