Docker常用命令总结~
1、关于镜像
获取镜像
docker pull [image name] [option:tag]
AI助手
-
//获取postgres镜像(没有设置镜像版本号则默认获取最新的,使用`latest`标记)
-
docker pull postgres
-
or
-
docker pull postgres:11.14
列出本地镜像
docker images
AI助手
指定镜像启动一个容器
-
//运行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 -a
AI助手
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 ps
AI助手
查看所有容器
docker ps -a
AI助手
进入启动后的容器
-
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 version
AI助手
运行docker
docker run -d -p 80:80 docker/getting-started
AI助手
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 类名,也是标识符。 一句话总结:标识符就是代码里给“东西”起…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...

html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...