Docker常用命令总结~
1、关于镜像
获取镜像
docker pull [image name] [option:tag]AI助手
-
//获取postgres镜像(没有设置镜像版本号则默认获取最新的,使用`latest`标记) -
docker pull postgres -
or -
docker pull postgres:11.14
列出本地镜像
docker imagesAI助手
指定镜像启动一个容器
-
//运行postgres,最后一个postgres代表使用的镜像名称 -
//POSTGRES_PASSWORD=postgres :环境变量POSTGRES_PASSWORD,代表设置密码为postgres -
//postgres有关的其他环境变量可以参考:https://hub.docker.com/_/postgres -
docker run -d --restart always --name postgre- e POSTGRES_PASSWORD=postgres -p 5432:5432 postgres
指定镜像启动并进入容器
-
docker run -it [image name] /bin/bash -
ordocker run -i -t [image name] /bin/bash
伪终端,输入exit退出容器

2、利用Dockerfile创建镜像
创建目录和Dockerfile文件
-
//linux命令:创建目录 -
mkdir [director name] ----mkdir study -
//进入目录 -
cd [director name] ----cd study -
//创建文件 -
touch [file name] ----touch Dockerfile
编写Dockerfile
-
//编辑文件vi [file name] 按 `insert` or `i` 进入编辑状态 -
vi Dockerfile
编写好的Dockerfile文件 , 按esc,输入 :wq 保存并退出

构建镜像
-
//“.” 是 Dockerfile 所在的路径(当前目录),也可以替换为一个具体的 Dockerfile 的路径 -
docker build .

删除本地镜像
*注意:
在删除镜像之前要先用 docker rm 删掉依赖于这个镜像的所有容器
-
docker rmi [image id] -
例如:docker rmi 07e2ee723e2d (07e2ee723e2d 为镜像id)
删除所有镜像
docker rmi -f $(docker images -qa)AI助手
关键字删除镜像
docker rmi $(docker images | grep "关键字")AI助手
删除未被使用的镜像
docker image prune -aAI助手
3、关于容器
启动容器
-
//基于镜像启动容器 -
docker run --name [container name] [image name] -
//启动容器后台运行 -
docker run --name[container name] -d [image name] -
//启动停止的容器 (可以写多个) -
docker start [container name or id] -
//重启容器,(会把运行中的容器停止,再重新启动,可以写多个) -
docker restart [container name or id]
查看启动的容器
docker psAI助手
查看所有容器
docker ps -aAI助手
进入启动后的容器
-
docker exec -it[container name or container id] /bin/bash -
//缺点:当多个窗口同时attach同一个容器时,所有窗口都会同步显示. -
//当某个窗口因命令阻塞时,其他窗口也无法执行操作. -
docker attach [container name or id] -
//exec 和 attach的区别 -
attach 不会在容器中创建进程执行额外的命令,只是附着到容器上. -
exec会在运行的容器上创建进程执行新的命令. -
//nsenter的方式 -
//要下载nsenter 的工具 util-linux -
cd /tmp -
wget https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz -
tar -xvf util-linux-2.24.tar.gz -
cd util-linux-2.24./configure --without-ncurses make nsenter && sudo cp nsenter /usr/local/bin -
docker inspect -f {{.State.Pid}} [container id] -
nsenter --target [上一个命令的输出内容] --mount --uts --ipc --net --pid

查看容器日志
docker logs -f [container id or name]AI助手
停止容器
docker stop [container name or id]AI助手
删除容器
-
//只能删除未运行的容器 -
docker rm [container name or id] -
例如:docker rm 6516c6b03ccd (6516c6b03ccd 为 容器id) -
或者 docker rm redis (redis 为 容器名称)
强制删除容器(包括运行的)
docker stop $(docker ps -q)AI助手
停用所有运行中的容器
docker rm $(docker ps -aq)AI助手
删除全部已经停止的容器
docker rm $(docker ps -aq)AI助手
停用并删除所有容器
docker stop $(docker ps -q) & docker rm $(docker ps -aq)AI助手
4、其他
查看docker版本
docker versionAI助手
运行docker
docker run -d -p 80:80 docker/getting-startedAI助手
| Options | Explain |
| -d | 在后台运行容器 |
| -p | 设置端口映射 |
| -a | 获取所有/指定更新的用户信息 |
| --restart always | docker 启动时自动启动容器 |
| --name | 设置启动的容器名称 |
| -e | 指定环境变量的值 |
| -m | 指定提交的说明信息 |
| -i | 以交互模式运行容器,让容器的标准输入保持打开,通常与 -t 同时使用 |
| -t | 为容器重新分配一个伪输入终端,并绑定到容器的标准输入上,通常与 -i 同时使用 |
| -f | 通过 SIGKILL 信号强制删除一个运行中的容器 or 实时查看日志 |
| -l | 移除容器间的网络连接,而非容器本身 |
| -v | 删除与容器关联的卷 or 创建一个数据卷并挂载到容器里 |
| :ro | 设置挂载数据卷的权限为只读 |
| -P | 随机映射一个 49000~49900 的端口到内部容器开放的网络端口 |
| -rm | 用-rm 启动的容器 容器终止时会自动删除,不能和-d一起使用 |
| --link | 使容器之间进行安全的交互 |
| -b BRIDGE or –bridge=BRIDGE | 指定容器挂载的网桥 |
| –bip=CIDR | 定制 docker0 的掩码 |
| –icc=true or false | 是否支持容器之间进行通信 |
相关文章:
Docker常用命令总结~
1、关于镜像 获取镜像 docker pull [image name] [option:tag]AI助手//获取postgres镜像(没有设置镜像版本号则默认获取最新的,使用latest标记) docker pull postgres or docker pull postgres:11.14 列出本地镜像 docker imagesAI助手 指定镜像启动一个容…...
浅谈怎样系统的准备前端面试
前言 创业梦碎,回归现实,7 月底毅然裸辞,苦战两个月,拿到了美团和字节跳动的 offer,这算是从业以来第一次真正意义的面试,遇到蛮多问题,比如一开始具体的面试过程我都不懂,基本一直是…...
如何配置防火墙提高服务器安全性
配置防火墙是提高服务器安全性的重要措施之一。防火墙可以控制网络流量,限制未经授权的访问,防止恶意攻击。以下是配置防火墙以提高服务器安全性的详细指南。 一、为什么需要配置防火墙 防火墙的主要作用是: 限制未经授权的访问:…...
java集合-Map HashMap 源码解析
hashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,无序,不可重复。HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。HashMap 实现了Ser…...
案例分享|企查查的数据降本增效之路
分享嘉宾 任何强 企查查科技股份有限公司 大数据架构负责人 关于企查查 “企查查”是企查查科技股份有限公司旗下的一款企业信用查询工具。2023年5月20日,企查查正式发布全球首款商查大模型——“知彼阿尔法”,该模型基于企查查覆盖的全球企业信用数据进…...
图书馆管理系统(四)基于jquery、ajax--完结篇
任务3.6 后端代码编写 任务描述 这个部分主要想实现图书馆管理系统的后端,使用 Express 框架来处理 HTTP 请求,并将书籍数据存储在一个文本文件 books.txt 中。 任务实施 3.6.1 引入模块及创建 Express 应用 const express require(express); cons…...
什么是Modbus协议网关?
在工业自动化领域,设备间的通信与数据交换是实现高效、智能控制的关键。Modbus协议作为一种广泛应用的通信协议,自1971年由Modicon公司首次推出以来,便以其标准、开放、支持多种电气接口等特点,在工业控制系统中占据了重要地位。然…...
Docker 容器中启用 SSH 服务
在 Docker 容器中运行 SSH 服务需要一些调整,因为 Docker 容器通常使用 init 系统而不是完整的 systemd。以下是配置 SSH 服务在 Docker Ubuntu 容器中运行的步骤: 1. 安装 SSH 服务 如果还未安装 OpenSSH,请先安装: apt update…...
Linux系统—利用systemd管控系统以及服务详解(十四)
本文为Ubuntu Linux操作系统- 第十四弹~~ 新的一周开始了,时间过得真快,这星期就要冬至啦!! 今天继续Linux系统高级管理板块,主要讲述使用systemd管控系统和服务~ 上期回顾:“Linux系统—进程管理详解” 更…...
人工智能 AI 大模型研究设计与实践应用技术毕业论文
标题:人工智能 AI 大模型研究设计与实践应用技术 内容:1.摘要 人工智能 AI 大模型是当前人工智能领域的研究热点之一,它具有高度的通用性、灵活性和智能性,可以应用于多种领域,如自然语言处理、计算机视觉、语音识别等。本文旨在探讨人工智能…...
已有 containerd 的情况下部署二进制 docker 共存
文章目录 [toc]学习目的开始学习dockerd启动 containerd准备配置文件启动 containerd 启动 docker准备配置文件启动 docker 环境验证停止 docker 和 containerd 学习目的 使用容器的方式做一些部署的交付,相对方便很多,不需要担心别人的环境缺少需要的依…...
VSCode 搭建Python编程环境 2024新版图文安装教程(Python环境搭建+VSCode安装+运行测试+背景图设置)
名人说:一点浩然气,千里快哉风。—— 苏轼《水调歌头》 创作者:Code_流苏(CSDN) 目录 一、Python环境安装二、VScode下载及安装三、VSCode配置Python环境四、运行测试五、背景图设置 很高兴你打开了这篇博客,更多详细的安装教程&…...
vue+springboot+cas配置及cookie传递问题
cookie的注意事项 前边的文章已经介绍过cookie的基本信息,这里再次说明一点:cookie是无法进行跨域传递的,很多时候cookie无法设置和传递都是因为跨域问题,ip/端口不一致。 主要就是:被设置cookie和要传递cookie的地址…...
0009.基于springboot+layui的ERP企业进销存管理系统
一、系统说明 基于springbootlayui的ERP企业进销存管理系统,系统功能齐全, 代码简洁易懂,适合小白学编程,课程设计,毕业设计。 二、系统架构 前端:html| layui 后端:springboot | mybatis| thymeleaf 环境:jdk1.8 |…...
ZYNQ初识2(zynq_7010)基于vivado,从PL端调用PS端的时钟
由于需要进行一些FPGA的简单开发,但板载PL端没有焊接晶振,所以需要从PS端借用时钟到PL端使用。 首先新建项目,根据自己的板载选择芯片,我的板载芯片是zynq_7010。 一路next,在自己的vivado的工作文档新建文件夹并给自…...
Android详解——ConstraintLayout约束布局
目录 一、ConstraintLayout概述 二、ConstraintLayout属性介绍 1. 相对位置 2. 边距 3. 中心和偏移位置 中心位置 偏移位置 4. 圆形位置 5. 可见性 6. 尺寸约束 最小尺寸 WRAP_CONTENT :强制约束 MATCH_CONSTRAINT Min和Max 百分比尺寸 比率 7. 链式布局 创建…...
docker简单命令
docker images 查看镜像文件 docker ps -a 查看容器文件 docker rm 0b2 删除容器文件,id取前三位即可 docker rmi e64 删除镜像文件(先删容器才能删镜像),id取前三位即可 在包含Dockerfile文件的目录…...
【linux】shell(36)-文件操作
1. 文件创建 1.1 使用 touch 命令创建空文件 touch filename创建一个名为 filename 的空文件。如果文件已存在,touch 会更新该文件的时间戳。 示例: touch file1.txt1.2 使用重定向符创建文件 > filename使用 > 符号创建一个空文件。如果文件…...
c语言——数据结构【链表:单向链表】
上篇→快速掌握C语言——数据结构【创建顺序表】多文件编译-CSDN博客 一、链表 二、单向链表 2.1 概念 2.2 单向链表的组成 2.3 单向链表节点的结构体原型 //类型重定义,表示存放的数据类型 typedef int DataType;//定义节点的结构体类型 typedef struct node {union{int l…...
Python 标识符是啥?
Python 的标识符就是我们写代码时用来给变量、函数、类等取名字的东西。 你写的 my_variable 是个标识符, 定义的 add_numbers 函数名也是个标识符, 甚至你写的 Cat 类名,也是标识符。 一句话总结:标识符就是代码里给“东西”起…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
