docker的安装及docker常用命令
目录
- 环境介绍
- docker卸载
- docker安装
- docker镜像命令
- 查看docker可用的镜像
- 查看docker可安装的镜像
- 安装镜像
- 删除镜像
- docker容器命令
- 查看容器
- 启动容器
- 启动示例
- 进入容器内部
- 停止容器
- 删除容器
- 容器和主机之间的文件复制
- docker网络命令
- 创建docker网络
- 查看docker网络
- 删除docker网络
- docker其他命令
- 启动docker
- 开机docker自启动
- 重启docker
- 查看docker版本信息
- 查看docker系统信息
- 查看docker容器日志
- docker compose安装
- docker compose更新
- docker compose卸载
- docker compose启动
- docker compose查看容器
- docker compose停止容器
- docker compose启动容器
- docker compose重启容器
- docker compose删除容器
- docker compose yaml配置示例
环境介绍
- 虚拟机环境:Oracle VM VirtualBox 7.0
- 终端连接:FinalShell 4.3
- Linux操作系统:ubuntu-22.04.4-live-server-amd64
- docker:docker 26.1.2
docker卸载
# 卸载docker
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
#卸载docker
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# 删除镜像、容器、卷、自定义配置
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
docker安装
# 更新opt
sudo apt-get update
# 安装ca认证和curl传输工具
sudo apt-get install ca-certificates curl
# 创建一个目录/etc/apt/keyrings
sudo install -m 0755 -d /etc/apt/keyrings
# 下载 Docker 在 Ubuntu 系统上使用的 GPG 密钥
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
# 将秘钥设置为只读
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 将 Docker 的软件源添加到 APT 软件包管理器的源列表中,并将其保存到 /etc/apt/sources.list.d/docker.list 文件中
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新opt
sudo apt-get update# 安装最新版本docker引擎
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 安装指定版本docker引擎
#查看版本信息
apt-cache madison docker-ce | awk '{ print $3 }'
#安装指定版本的docker引擎
VERSION_STRING=5:26.1.0-1~ubuntu.24.04~noble
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
# 验证docker安装成功
sudo docker run hello-world
docker镜像命令
docker仓库地址:https://registry.hub.docker.com/,大概率需要科学上网。
查看docker可用的镜像
docker images
查看docker可安装的镜像
docker search {需要安装的镜像名称}
安装镜像
docker pull {需要安装的镜像名称}:{版本}
删除镜像
docker rmi {镜像名称或镜像ID}
docker容器命令
-i: 交互式操作
-t: 终端
-d: 后台运行
-P:将容器内部使用的网络端口随机映射到我们使用的主机上。
-p:将容器内部使用的网络端口指定映射到我们使用主机上
-v:将主机数据卷挂载至容器内的某目录
-e:增加临时配置
–name: 给容器指定一个名称
–restart=always:容器自动重启
查看容器
## 查看启动的容器
docker ps
# 查看所有容器
docker ps -a
启动容器
# 启动容器
docker run {镜像名称或镜像ID}
# 创建一个交互式的容器并启动一个shell会话
docker run -it {镜像名称或镜像ID} /bin/bash
# 后台运行容器
docker run -itd {镜像名称或镜像ID} /bin/bash
#后台运行一个容器并将容器端口映射到主机指定端口
docker run -d -p 5000:5000 {镜像名称或镜像ID}
# 指定运行的容器使用主机网络
docker run -d --network=host --name={容器名称} {镜像名称或镜像ID}# 启动一个已停止的容器
docker start {容器名称或容器ID}
# 重启一个已停止的容器
docker restart {容器名称或容器ID}
启动示例
#myslq
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
--network=host \
--restart=always \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
进入容器内部
docker exec -it {容器名称或容器ID} /bin/bash
停止容器
docker stop {容器名称或容器ID}
删除容器
docker rm -f {容器名称或容器ID}
容器和主机之间的文件复制
#将主机文件复制进容器
docker cp 主机文件路径 {容器名称或容器ID}:容器内路径
#将容器文件复制进主机
docker cp{容器名称或容器ID}:容器内路径 主机文件路径
docker网络命令
创建docker网络
# 创建一个桥接网络
docker network create -d bridge {网络名称}
# 创建一个主机网络
docker network create -d host {网络名称}
查看docker网络
docker network ls
删除docker网络
docker network rm {网络名称或网络ID}
docker其他命令
启动docker
systemctl start docker
开机docker自启动
systemctl enable docker
重启docker
systemctl restart docker
查看docker版本信息
docker -version
查看docker系统信息
docker info
查看docker容器日志
# 实时跟踪容器日志
docker logs -f {容器名称或容器id}
# 显示最近100行容器日志
docker logs --tail 100 {容器名称或容器id}
docker compose安装
# 更新apt
sudo apt-get update
# 安装compose插件
sudo apt-get install docker-compose-plugin
# 验证安装及查看版本
docker compose version
docker compose更新
# 更新apt
sudo apt-get update
# 安装compose插件
sudo apt-get install docker-compose-plugin
# 验证安装及查看版本
docker compose version
docker compose卸载
# 卸载docker compose
sudo apt-get remove docker-compose-plugin
# 删除docker compose相关配置
rm /usr/local/lib/docker/cli-plugins/docker-compose
docker compose启动
# 启动所有容器
docker-compose up
# 后台启动所有容器
docker-compose up -d
docker compose查看容器
docker-compose ps
docker compose停止容器
# 停止所有容器
docker-compose stop
#停止并删除所有容器
docker-compose down
docker compose启动容器
docker-compose start
docker compose重启容器
docker-compose restart
docker compose删除容器
docker-compose rm
docker compose yaml配置示例
挂载时要将主机的文件权限放开
chmod 777 {fileName}
compose配置文件
services:redis:container_name: redis_envimage: redis:6.0command: redis-server /etc/redis.confports:- "6379:6379"networks:- bridgevolumes:- /home/docker/environment/redis/conf/redis.conf:/etc/redis.conf- /home/docker/environment/redis/data:/data- /home/docker/environment/redis/log/redis.log:/var/redis.logrestart: alwaysnetworks:bridge:driver: bridge
参考文章:
docker官网
https://geek-docs.com/redis/redis-ask-answer/645_redis_run_redis_with_persistent_storage_using_dockercompose.html
https://blog.csdn.net/Fly_wd/article/details/133870918
相关文章:
docker的安装及docker常用命令
目录 环境介绍docker卸载docker安装docker镜像命令查看docker可用的镜像查看docker可安装的镜像安装镜像删除镜像 docker容器命令查看容器启动容器启动示例进入容器内部停止容器删除容器容器和主机之间的文件复制 docker网络命令创建docker网络查看docker网络删除docker网络 do…...
Dell服务器根据GPU温度调整风扇转速
前言 dell服务器自动风扇是根据CPU温度来调速的,我跑AI的时候cpu温度不高但是GPU温度很高导致显卡卡死PVE虚拟机直接挂起无法运行,我看了下也没有基于显卡温度调速的脚本,于是我就自己写了一个 基于ipmi工具 乌班图等linux先安装ipmi apt …...
快捷键专栏 IDEA、Navicat、电脑、Excle、Word等
标题 电脑篇windowsR 配合以下常用命令连上公司网线WiFi速度变慢问题解决Windows10 设置鼠标右键在此处打开cmd和Powershell窗口、关机打开电脑诊断工具系统设置常用设置查看电脑出场日期 systeminfo删除文件显示已在另一个程序打开?找回回收站删除的文件WindowsR输…...
卸载MySQL5.0,安装MySQL8.0
卸载MySQL 1、以管理员身份运行cmd,删除MySQL服务 2、卸载MySQL 3、删除残余文件 4、清楚注册表 winR -> regedit 5、删除环境变量 安装MySQL步骤 官方下载地址 https://www.mysql.com/downloads/ 以上步骤即完成MySQL数据库安装。...
苹果WWDC重磅发布的IOS 18、Apple Intelligence背后的技术分析!
2024年6月10日,在2024年WWDC全球开发者大会上,苹果推出了Apple Intelligence,这是深度集成到iOS 18、iPadOS 18和macOS Sequoia中的个人智能系统。 为了让大模型能在 iPhone 端侧跑,苹果还是做了很多事情的。接下来就跟大家介绍一…...
Linux基础IO【II】
今天,我们接着在上一篇文章的基础上,继续学习基础IO。观看本文章之前,建议先看:Linux基础IO【I】,那,我们就开始吧! 一.文件描述符 1.重新理解文件 文件操作的本质:进程和被打开文件…...
DevExpress学习系列文章
一:DevExpress Installed 二:Application UI 三:Data Management Controls 四:Skins 五:DevExpress 控件和库 系列文章相关代码:DevExpressDemo: DevExpress学习过程中的Demo...
在大数据时代:为何硬盘仍是数据中心存储的核心
在云计算和人工智能应用场景不断涌现的时代背景下,数据集的价值急剧上升,硬盘对于数据中心运营商来说变得比以往任何时候都更为关键。硬盘存储了全球大部分的艾字节(EB)数据,行业分析师预计,在艾字节持续增…...
安装TrinityCore NPCBot(尝试中)
安装TrinityCore NPCBot 基本安装方法 Follow TrinityCore Installation Guide (https://TrinityCore.info/) to install the server firstDownload NPCBots.patch and put it into your TrinityCore folderApply the patch using patch -p1 < NPCBots.patch command (crea…...
Java SE LTS版本商用收费,有那些开源的替代方案?
🚀 Java SE LTS版本商用收费,有那些开源的替代方案? 摘要 Java 对于云服务、大数据、电子商务、支付、欺诈和身份、交易等许多应用程序来说都是至关重要的语言。然而,Oracle 对 Java SE LTS 版本的商用收费政策引发了广泛关注和…...
Win系统 锁屏自动暂停音乐
Windows 的系统锁屏功能可以让我们在离开电脑前时保护我们的系统安全,而如果你正在播放音乐的话,锁屏开启后默认是继续播放的。 这就导致在公共场合下别人很容易能够通过你的电脑屏幕看到你在听什么,这里介绍一种通过 AutoHotkey 实现锁屏自动…...
ffmpeg实现视频播放 ----------- Javacv
什么是Javacv和FFmpeg? Javacv是一个专门为Java开发人员提供的计算机视觉库,它基于FFmpeg和Opencv库,提供了许多用于处理图 像、视频和音频的功能。FFmpeg是一个开源的音视频处理工具集,它提供了用于编码、解码、转换和播放音视频…...
解决更新Android Studio后下载Gradle超时
随着Android Studio的更新,所需要的最低Gradle版本也在变化,这时候构建项目的时候就需要先下载所需的Gradle发行版。对于Gradle构建项目,我们已经知道项目使用的Gradle是在根项目的gradle/wrapper/gradle-wrapper.properties文件中定义的&…...
智能合约漏洞类型
Are We There Yet? Unraveling the State-of-the-Art Smart Contract Fuzzers | Proceedings of the IEEE/ACM 46th International Conference on Software Engineering...
6.7.31 使用端到端训练的基于 EfficientNet 的卷积网络在双视图乳房 X 线摄影中进行乳腺癌诊断
最好的技术之一进行了两次迁移学习:第一种是使用在自然图像上训练的模型来创建“块分类器”,对子图像进行分类;第二种是使用块分类器扫描整个乳房 X 光检查并创建“单视图全图像分类器”。建议进行第三次迁移学习,以获得一个“双视图分类器”,以使用两个乳房 X 光检查视图…...
访问方法(反射)
文章目录 前言一、访问成员方法的方法二、Method类 1.常用方法2.实操展示总结 前言 为了实现在某类中随时可以调用其他类的方法,java.lang.reflect包中提供了Method方法类来实现该效果。每一个Method对象代表着一个方法,利用Methoc对象可以操纵相应的方法…...
探索Excel的隐藏功能:如何求和以zzz开头的列
哈喽,大家好,我是木头左! 步骤一:定位"zzz"开头的列 需要找到所有以"zzz"开头的列。在Excel中,你可以通过以下几种方法来实现: 手动查找:滚动查看列标题,找到…...
git:切换到指定的commit
背景 今天合并人家代码的时候,报冲突了,然后解决完冲突以后,发现有个冲突干错了,但是都已经commit了,所以我就想那就回到这次merge之前的我的分支的commit 解决过程 取消合并 我先查了能否直接取消合并,…...
js之事件监听以及相关案例
这里写目录标题 一级目录二级目录三级目录 Web APIs02一、事件监听1.定义2.调用语法3.事件监听三要素4.事件监听版本 二、事件类型随机点名之事件监听版本案例要求大致思路先获取dom对象理解程序运行 完整代码 一级目录 二级目录 三级目录 Web APIs02 一、事件监听 1.定义…...
pip 安装出现 ERROR: Command errored out with exit status 1: 问题解决
使用pip 安装第三方库,前面在升级pip(使用python.exe -m pip install --upgrade pip)也出现如下错误: ERROR: Command errored out with exit status 1: command: d:\python_3_7_6\python.exe C:\Users\xxxXXXXoooOOOO\AppData…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
