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 |
容器所用的网络名称 |