docker常用命令

基础概念介绍

  1. 镜像(Image):Docker 镜像是⽤于创建 Docker 容器的模板,⽐如 Ubuntu 系统
  2. 容器(Container):容器是独⽴运⾏的⼀个或⼀组应⽤,是镜像运⾏时的实体
  3. 客户端(client):Docker 客户端通过命令⾏或者其他⼯具使⽤ Docker SDK
    (https://docs.docker.com/develop/sdk/) 与 Docker 的守护进程通信
  4. 主机(host):⼀个物理或者虚拟的机器⽤于执⾏ Docker 守护进程和容器
  5. 注册中⼼(Registry):Docker 仓库⽤来保存镜像,可以理解为代码控制中的代码仓库。Docker
    Hub(https://hub.docker.com) 提供了庞⼤的镜像集合供使⽤。
  6. Docker Machine:Docker Machine是⼀个简化Docker安装的命令⾏⼯具,通过⼀个简单的命令⾏
    即可在相应的平台上安装Docker。

docker命令官网

https://docs.docker.com/reference/

docker启动停止及重启

bash 复制代码
systemctl start docker		//启动docker
systemctl stop docker			//停止docker
systemctl restart docker	//重启docker
systemctl status docker		//查看docker状态
systemctl enable docker		//设置开机自启

docker运维操作命令

复制代码
docker ps : 列出容器
docker inspect : 获取容器/镜像的元数据
docker top :查看容器中运⾏的进程信息,⽀持 ps 命令参数
查看所有运⾏容器的进程信息。
for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done
docker attach :连接到正在运⾏中的容器
docker wait : 阻塞运⾏直到容器停⽌,然后打印出它的退出代码
docker export :将⽂件系统作为⼀个tar归档⽂件导出到STDOUT
docker port :列出指定的容器的端⼝映射,或者查找将PRIVATE_PORT NAT到⾯向公众的端口
docker cp :⽤于容器与主机之间的数据拷⻉
docker diff : 检查容器⾥⽂件结构的更改
docker rename:修改容器name
docker stats :查看容器状态
docker update:用来修改docker run 指定的运⾏参数

镜像管理命令

复制代码
docker build 命令⽤于使⽤ Dockerfile 创建镜像

docker build [OPTIONS] PATH | URL | -
OPTIONS说明:
--build-arg=[] :设置镜像创建时的变量;
--cpu-shares :设置 cpu 使⽤权重;
--cpu-period :限制 CPU CFS周期;
--cpu-quota :限制 CPU CFS配额;
--cpuset-cpus :指定使⽤的CPU id;
--cpuset-mems :指定使⽤的内存 id;
--disable-content-trust :忽略校验,默认开启;
-f :指定要使⽤的Dockerfile路径;
--force-rm :设置镜像过程中删除中间容器;
--isolation :使⽤容器隔离技术;
--label=[] :设置镜像使⽤的元数据;
-m :设置内存最⼤值;
--memory-swap :设置Swap的最⼤值为内存+swap,"-1"表示不限swap;
--no-cache :创建镜像的过程不使⽤缓存;
--pull :尝试去更新镜像的新版本;
--quiet, -q :安静模式,成功后只输出镜像 ID;
--rm :设置镜像成功后删除中间容器;
--shm-size :设置/dev/shm的⼤⼩,默认值是64M;
--ulimit :Ulimit配置。
--squash :将 Dockerfile 中所有的操作压缩为⼀层。
--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在⼀次构建中为⼀个
镜像设置多个标签。
--network: 默认 default。在构建期间设置RUN指令的⽹络模式

docker images : 列出本地镜像
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS说明:
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests :显示镜像的摘要信息;
-f :显示满⾜条件的镜像;
--format :指定返回值的模板⽂件;
--no-trunc :显示完整的镜像信息;
-q :只显示镜像ID

docker images --filter dangling=true	//查看所有悬空镜像
docker image prune										//清除所有悬空镜像

docker rmi : 删除本地⼀个或多个镜像
docker tag : 标记本地镜像,将其归⼊某⼀仓库
docker save : 将指定镜像保存成 tar 归档⽂件
docker load : 导⼊使⽤ docker save 命令导出的镜像
docker import : 从归档⽂件中创建镜像
eg:docker import mynginx.tar mynginx:v3
docker commit :从容器创建⼀个新的镜像
eg:docker commit -a "nick" -m "mynginx commit" mynginx mynginxtest:1.0

镜像仓库命令

复制代码
docker login : 登陆到⼀个Docker镜像仓库,如果未指定镜像仓库地址,默认为官⽅仓库
Docker Hub
docker logout : 登出⼀个Docker镜像仓库,如果未指定镜像仓库地址,默认为官⽅仓库
Docker Hub
eg:
docker login -u ⽤户名 -p 密码
docker logout

docker pull : 从镜像仓库中拉取或者更新指定镜像
eg:docker pull nginx
docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker search : 从Docker Hub查找镜像
eg
从 Docker Hub 查找所有镜像名包含 nginx,并且收藏数⼤于 10 的镜像
 docker search -f stars=10 nginx

docker环境信息命令

复制代码
docker info [OPTIONS] 			//显示 Docker 系统信息,包括镜像和容器数。
docker version 							//显示 Docker 版本信息。
docker events [OPTIONS]  		//从服务器获取实时事件 
docker --help								//查看docker总体帮助文档

docker logs	[OPTIONS]				//获取容器的⽇志
docker history [OPTIONS]		//查看指定镜像的创建历史。

容器的⽣命周期管理命令

复制代码
docker create :创建⼀个新的容器但不启动它
docker run :创建⼀个新的容器并运⾏⼀个命令
eg: docker run -d -p 81:80 -d --name=mynginx nginx
docker start :启动⼀个或多个已经被停⽌的容器
docker stop :停⽌⼀个运⾏中的容器
docker restart :重启容器
docker kill :杀掉⼀个运⾏中的容器
docker rm :删除⼀个或多个容器
docker pause :暂停容器中所有的进程
docker unpause :恢复容器中所有的进程
docker exec :在运⾏的容器中执⾏命令

docker run命令详情

复制代码
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
-a stdin: 指定标准输⼊输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运⾏容器,并返回容器ID;
-i: 以交互模式运⾏容器,通常与 -t 同时使⽤;
-P: 随机端⼝映射,容器内部端⼝随机映射到主机的端⼝
-p: 指定端⼝映射,格式为:主机(宿主)端⼝:容器端⼝
-t: 为容器重新分配⼀个伪输⼊终端,通常与 -i 同时使⽤;
--name="nginx-lb": 为容器指定⼀个名称;
--dns 8.8.8.8: 指定容器使⽤的DNS服务器,默认和宿主⼀致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主⼀致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定⽂件读⼊环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运⾏;
-m :设置容器使⽤内存最⼤值;
--net="bridge": 指定容器的⽹络连接类型,⽀持 bridge/host/none/container: 四种类
型;
--link=[]: 添加链接到另⼀个容器;
--expose=[]: 开放⼀个端⼝或⼀组端⼝;
--volume , -v: 绑定⼀个卷
--restart 指定容器重启条件,默认为no
相关推荐
ldj20207 分钟前
Docker的docker-compose类比Spring的ApplicationContext
spring·docker
白鹭30 分钟前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache
ldj202037 分钟前
docker 自定义网桥作用
docker·容器
java叶新东老师1 小时前
linux 部署 flink 1.15.1 并提交作业
linux·运维·flink
程序员JerrySUN2 小时前
Linux系统架构核心全景详解
linux·运维·系统架构
无敌的牛2 小时前
Linux文件理解,基础IO理解
linux·运维·服务器
angushine2 小时前
鲲鹏服务器logstash采集nginx日志
运维·服务器·nginx
未来之窗软件服务2 小时前
跨平台 WebSocket 服务器的设计与实现 —— 基于.NET 8 的跨操作系统解决方案linux,macos,windows——开发工具
linux·服务器·websocket·仙盟创梦ide·东方仙盟
睿思达DBA_WGX2 小时前
由于主库切换归档路径导致的 Oracle DG 无法同步问题的解决过程
运维·数据库·oracle