首页 > 其他分享 >Docker 常用命令总结

Docker 常用命令总结

时间:2024-08-03 20:57:20浏览次数:15  
标签:总结 容器 -- mysql ID 常用命令 镜像 Docker docker

前言

本文介绍 Docker 常用的一些命令,Docker 常用配置可参考Docker 实用配置技巧

Docker 管理

查看服务端和客户端版本

docker version

查看服务端和客户端配置和参数信息

docker info

镜像操作

Docker 镜像可以看作一个模板。

查看本地镜像列表

docker images

使用 -q 参数仅获取镜像 ID,可以通过管道传递给其他后续命令。

-f 参数可以筛选镜像。

# 查找无标签的镜像,如构建失败时的中间镜像
docker images --filter "dangling=true"
# 根据镜像标签进行筛选
docker images --filter "label=version=1.0"
# 根据镜像名称筛选
docker images --filter "reference=mysql:*"

before 和 since 提供了时间筛选,后面接镜像名称,用于筛选在这个镜像之前创建的镜像或这个镜像之后创建的镜像。

docker images --filter "before=ubuntu:18.04"

--format 参数可以控制输出格式,使用 Go 语言的模版语法,支持如下的占位符:

  • .ID:镜像 ID
  • .Repository:镜像名
  • .Tag:镜像版本
  • .Digest:镜像摘要
  • .CreatedAt:镜像创建时间
  • .Size:镜像大小
# 仅输出镜像名称和版本
docker images --format "{{.Repository}}:{{.Tag}}"

删除镜像

删除指定镜像。

# 可指定镜像名:版本或镜像 ID
docker rmi mysql:8

删除所有无标签的镜像。

docker image prune

构建镜像

docker build -t myimage:1.0 .

其中,-t 参数用于指定镜像名称和版本,最后的点代表当前路径,会查找当前路径下的 Dockerfile 文件。如果需要指定其他文件名,使用 -f 参数。

导入导出

# 将镜像导出到文件
docker save -o centos.tar centos:7
# 从文件或标准输入导入镜像
docker load -i centos.tar

添加标签

tag 命令给镜像添加一个新的名称和版本。

docker tag centos:7 mycentos:7.9

容器操作

Docker 容器可以看作镜像的一个运行实例。

启动容器

run 是最重要的启动容器的命令。

docker run --name mysql -d mysql:8

其中 --name 用于指定容器名称,不指定则随机生成。-d 表示后台运行并打印容器 ID,否则在当前进程前台执行。镜像名称后面可以接要传递的命令或参数。

-t-i 可以进入容器的控制台,执行一些命令,--rm 在退出后直接删除容器。

docker run --rm -ti centos:7 bash

查看本地容器

docker ps

也支持 -q-f--format 参数。

# 筛选名称
docker ps --filter "name=mysql"
# 筛选状态 running,created, exited 等
docker ps --filter "status=exited"
# 筛选标签
docker ps --filter "label=com.example.app=web"
# 筛选端口
docker ps --filter "expose=9000"

--format 支持下面的占位符:

  • .ID:容器ID
  • .Image:镜像ID
  • .Command:执行的命令
  • .CreatedAt:容器创建时间
  • .RunningFor:运行时长
  • .Ports:暴露的端口
  • .Status:容器状态
  • .Names:容器名称
  • .Label:容器的标签
  • .Mounts:容器挂载的卷
  • .Networks:容器的网络名称
  • .Repository:镜像名称
  • .Size:镜像大小
  • .Tag:镜像标签
  • .CreatedAt:创建图像的时间
docker ps --format "{{.ID}}\t{{.Names}}"

删除容器

删除指定的容器。

# 可指定容器名或容器 ID
docker rm mysql

删除所有停止的容器。

docker container prune

文件复制

docker cp 命令可以将容器内的文件复制到宿主机中,或者反过来。

docker cp mysql:/var/lib/mysql/test.txt /home/user/test.txt

容器状态变更

# 停止容器
docker stop mysql
# 启动容器
docker start mysql
# 重启容器
docker restart mysql

在容器中执行命令

exec 在运行的容器中执行命令。可使用 -ti 参数进入容器的控制台。

docker exec -ti mysql bash

获取容器信息

# 获取容器的详细信息
docker inspect mysql
# 获取容器暴露的端口
docker port mysql
# 获取容器的进程
docker top mysql

查看容器日志

docker logs mysql

可以用 -tail <行数> 获取最后的几行, -f 参数可以持续获取日志,类似 tail -f

查看容器的文件变更

查看容器的文件变更信息。

docker diff mysql

创建镜像

commit 命令可将容器当前的状态创建为镜像,类似于 git commit。

docker commit -m "message" mysql mysql1:1.0

导入导出

# 将容器的文件导出到文件
docker export -o out.tar mysql
# 导入文件创建镜像
docker import out.tar mysql1:1.0

远程仓库操作

登陆

私有仓库如果需要登陆可以使用 login 命令。

docker login -u username hub.mydocker.com

如果不想每次都登陆,可以配置自动登陆令牌,参考Docker 实用配置技巧

搜索镜像

搜索 Docker 镜像仓库。

docker search mysql

拉取/推送镜像

# 拉取镜像
docker pull mysql:8
# 将本地的镜像推送到仓库
docker push hub.mydocker.com/my/image:1.0

标签:总结,容器,--,mysql,ID,常用命令,镜像,Docker,docker
From: https://blog.csdn.net/wwtg9988/article/details/140747114

相关文章

  • 【iOS】——NSOperation和NSOperationQueue学习总结
    NSOperation、NSOperationQueue简介NSOperation、NSOperationQueue是基于GCD更高一层的封装,完全面向对象。但是比GCD更简单易用、代码可读性也更高。NSOperation、NSOperationQueue的优点可添加完成的代码块,在操作完成后执行。添加操作之间的依赖关系,方便的控制......
  • Docker Hub 和 registry-1.docker.io 的关系
     registry-1.docker.io是DockerHub的底层注册表(Registry)地址,用于存储和管理Docker镜像。在Docker中,一个注册表(Registry)是存储Docker镜像的地方,而registry-1.docker.io是DockerHub的注册表地址之一。DockerHub和registry-1.docker.io的关系:DockerHub:Do......
  • python系列&deep_study系列:【Conda】常用命令和常用镜像源修改
    【Conda】常用命令和常用镜像源修改【Conda】常用命令和常用镜像源修改前言1,创建和修改镜像源2,使用镜像源3,修改pip源方法一方法二3,修改conda源方法一方法二4,查看和还原5,常用的镜像源:【Conda】常用命令和常用镜像源修改前言记录常......
  • 2024/8/3每周总结
    ###每周总结####教学工作**时间:周一到周五每天上午****内容:**1.**数论部分**:-基础数论知识,包括质数、合数、最大公约数、最小公倍数等。-常见数论算法,如欧几里得算法。-模运算及其在解题中的应用。2.**线性结构部分**:-线性表的定义和实现,包括顺序表和链表......
  • hadoop第三周总结
    Hadoop第三周总结在Hadoop第三周的学习中,我们深入探索了Hadoop生态系统中的关键技术和概念。以下是本周的重要内容总结:Hadoop基础概念回顾:我们重新审视了Hadoop的核心组件,包括HDFS(Hadoop分布式文件系统)和YARN(资源管理器)。这些组件是构建大规模数据处理应用的基础,通过数据......
  • Hadoop 第四周总结
    Hadoop第四周总结本周在学习Hadoop的过程中,我深入了解了分布式文件系统(HDFS)的原理和操作,并开始接触和使用MapReduce框架进行数据处理和分析。以下是我这周的学习和实践总结:理论学习与实践应用在分布式文件系统(HDFS)的学习中,我掌握了其设计理念、架构和工作原理。HDFS通过将大文......
  • [Linux]常用命令
    PWDpwd显示工作路径shutdownshutdown-hnow关闭系统/halt关闭系统shutdown-rnow重启/reboot重启防火墙systemctlstopfirewalld关闭防火墙IP地址ipaddr查看ip地址cdcd命令:这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参......
  • 每周总结
    【Table】表的操作命令3.1增1.已存在的表中新增列族alter‘stu2:student1’,’schoolinfo’2.在命名空间中新建表create‘stu2:student1’,’baseinfo’create‘stu2:student2’,{NAME=>’baseinfo’},{NAME=>’schoolinfo’}3.表中插入数据put‘stu2:student1’,’100......
  • 2024暑假第五周总结
    Java面向对象通过封装、继承、多态等概念实现代码重用性、灵活性、和可维护性类和对象类是Java中用来描述对象共同特征的模板或蓝图,包括属性(字段)和方法。publicclassCar{privateStringbrand;privateintyear;publicCar(Stringbrand,intyear){......
  • 更换yum源,安装docker与拉取镜像
    1.更换yum源备份:mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup更换:wget-O/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-7.repo运行  yummakecache 生成缓存2.CentOS7(使用yum进行安装docker)st......