Linux 安装 Docker +Docker Compose + cucker/get_command_4_run_container

TIP:下面演示的 Linux 系统为 CentOS 7.9。

Docker

更新你的系统并安装必要的依赖项:

sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加 Docker 的官方仓库:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

如果平时不用魔法可以将上一步换为国内镜像源:

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

参考地址:https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.57e31b1100hMkQ

安装 Docker:

sudo yum makecache fast
sudo yum install -y docker-ce docker-ce-cli containerd.io

启动 Docker 并设置开机自启:

sudo systemctl start docker
sudo systemctl enable docker

检查是否安装成功:

docker --version

输出结果:

[root@lavm-zzgegfex4j ~]# docker --version
Docker version 26.0.2, build 3c863ff

Docker Compose

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具,使用 Docker Compose你可以用 YAML 文件来配置你的应用服务,然后使用一个命令,你就可以部署你配置的所有服务了。

下载 Docker Compose 的当前稳定版本。你可以从 Docker Compose 的 GitHub 发布页面找到最新版本的链接。

以当前最新版为例,首先我们需要下载 Docker Compose 的二进制文件,使用如下命令可以从 Github 上下载;

curl -L https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

然后修改该文件的权限为可执行:

chmod +x /usr/local/bin/docker-compose

检查是否安装成功:

docker-compose --version

输出结果:

[root@lavm-zzgegfex4j ~]# docker-compose --version
Docker Compose version v2.26.1

Docker 查看容器运行命令

有时我们想查看某个已经启动的容器的启动命令,可以借助 get_command_4_run_container 工具实现。

拉取镜像:

docker pull cucker/get_command_4_run_container

使用方法非常简单,以 mysql 为例:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock cucker/get_command_4_run_container mysql
[root@lavm-zzgegfex4j ~]# docker run --rm -v /var/run/docker.sock:/var/run/docker.sock cucker/get_command_4_run_container mysql
docker run -d \--name mysql \--cgroupns host \--env MYSQL_ROOT_PASSWORD=root \-p 4406:3306/tcp \--restart=always \-v /develop/mysql/data:/var/lib/mysql \-v /develop/mysql/config:/etc/mysql/conf.d \-v /develop/mysql/logs:/var/log/mysql \mysql:8.0

实际使用下来,可以发现上述方法虽然简单,但是每次需要输入一长串的命令。为此,我们可以在 shell 配置文件中(例如 .bashrc.zshrc)为复杂的命令设置一个别名。

这里以 docker_run_cmd 作为别名为例,使用 vim 编辑用户的 .bashrc 配置文件:

vi ~/.bashrc

.bashrc 文件的末尾添加以下行:

alias docker_run_cmd="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock cucker/get_command_4_run_container"

输入 :wq 保存并退出,重新加载配置文件:

source ~/.bashrc

之后使用简单的命令即可快速查看对应容器的启动命令了:

docker_run_cmd mysql
[root@lavm-zzgegfex4j ~]# docker_run_cmd mysql
docker run -d \--name mysql \--cgroupns host \--env MYSQL_ROOT_PASSWORD=root \-p 4406:3306/tcp \--restart=always \-v /develop/mysql/data:/var/lib/mysql \-v /develop/mysql/config:/etc/mysql/conf.d \-v /develop/mysql/logs:/var/log/mysql \mysql:8.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/2725.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在职场中有效管理时间和任务?好用的待办事项提醒软件

身在职场,时间管理和任务安排是每个人都必须面对的挑战。有效的时间管理不仅能提高工作效率,还能让我们在繁忙的工作中保持清醒的头脑。那么,如何在职场中有效管理时间和任务呢? 制定一个清晰的工作计划是非常必要的,…

Python构建学生信息管理系统:搭建开发环境

在本系列的前一篇文章中,我们详细规划了学生信息管理系统(SIMS)的数据库设计。接下来,我们将进入开发环境的搭建阶段。本文将指导您如何设置Python虚拟环境,安装Flask框架,以及项目所需的依赖库&#xff0c…

springcloud - ribbon 饥饿加载

一、未饥饿加载前 我们的服务者端口是8081,消费者端口是8085 当我们将两个项目都启动的时候,在消费者里日志级别设置未debug,发现找不到8081 二、开启饥饿加载 # 配置饥饿加载,d1为服务名 ribbon.eager-load.enabledtrue ribbon.eager-loa…

Spring Boot 2.5.3升级Spring Boot 3.2.2的方案设计及落地计划

Spring Boot 2.5.3升级Spring Boot 3.2.2的方案设计及落地 一、方案设计调研升级优势兼容性及风险评估引入开源软件评审备份与版本控制升级依赖代码修改测试 二、落地计划项目准备环境搭建实施升级验证与部署总结与反馈 一、方案设计 调研升级优势 首先,查看Sprin…

Echarts X轴类目名太长时隐藏显示全部

echarts图表X轴 在柱状图中,X轴类目名如果数据太长; echarts会默认进行隐藏部分字段; 如果我们想让每一个类目名都显示出来,需要进行额外的处理X轴类目名太长时,默认只显示一部分类目名 <!DOCTYPE html> <html lang="en"> <head><meta ch…

基于51单片机的超声波测距及温度显示

基于51单片机的超声波测距 &#xff08;仿真&#xff0b;程序&#xff0b;PCB原理图&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.超声波测距传感器HC-SR04、温度传感器DS18B20将检测的数据传给51单片机&#xff1b; 2.LCD1602实时显示测得的距离和温…

javaWeb项目-社区医院管理服务系统功能介绍

项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 1、Java技术 Java语…

【HTML】页面引用Vue3和Element-Plus

在现代前端开发中&#xff0c;Vue 3 和 Element Plus 是非常受欢迎的技术。Vue 3 是一个用于构建用户界面的渐进式 JavaScript 框架&#xff0c;而 Element Plus 是一个基于 Vue 3 的组件库&#xff0c;提供了丰富的 UI 组件&#xff0c;帮助开发者快速构建高质量的前端应用。 …

pyTorch框架部署实践

相关代码链接见文末 1.所需基本环境配置 首先&#xff0c;我们需要一个预先训练好的模型以及相应的配置。接下来&#xff0c;为了实际应用这个模型&#xff0c;我们必须搭建一个功能强大的服务器。这台服务器的核心任务是加载我们的模型&#xff0c;并能够接收用户上传的图片。…

保姆级,Linux中安装搭建Python环境

Linux中安装搭建Python环境 前手准备&#xff1a;在Linux中运行一下代码&#xff1a; yum install wget zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make zlib zlib-devel libffi-devel -y进入Python下载官网https://www.…

串口中断与环形队列——高级应用

目录 前言环形队列环形队列程序设计前言 由于串口中断服务函数处理串口的数据寄存器的数据时,存储数据和处理数据需要一定的时间,所以接收数据的频率不能太快。为了解决这个问题,在中断服务函数中将串口的数据寄存器值存储在环形队列中,只做存储功能,处理数据的功能放在主…

[综述笔记]Benchmarking Graph Neural Networks for FMRI analysis

论文网址&#xff1a;[2211.08927] Benchmarking Graph Neural Networks for FMRI analysis (arxiv.org) ⭐不是真正意义上的综述&#xff0c;应该是分析性质的文章 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错…

C++基础——std::cout输出bool值

在C中&#xff0c;std::cout 默认输出布尔值时会显示 1&#xff08;表示 true&#xff09;或 0&#xff08;表示 false&#xff09;。如果想要改变这个行为&#xff0c;使得输出为 true 或 false 文本&#xff0c;可以使用 std::boolalpha 操纵符。 以下是如何使用它的示例&…

【电控实物-infantry】

云台电机参数 电机内部参数 相电阻:Rs1.8欧 相电感:Ls5.7810^-3H 转矩常数:Kt 0.741 NM/A 转动惯量:J KG-m^2 电机接收数据&#xff1a;-16384到16384&#xff08;-3A到3A&#xff09; 电机反馈&#xff1a;速度RPM rad/s &#xff08;2πrpm&#xff09;/60 C板陀螺仪&…

【深度学习实战(20)】使用torchsummary打印模型结构

一、安装torchsummary库 pip install torchsummary 二、代码 import torchvision.models as models from torchsummary import summarymodel models.AlexNet() model.to(cuda) summary(model,(3,224, 224))

Base64编码原理和代码实现

1、Base64编码实现原理 第一步&#xff1a; 原理是把每 3 个字节&#xff08;每个字节为 8 位, 3 个字节为 24 位&#xff09;重新划为 4 组&#xff08;每组为 6位&#xff09; 第二步: 重新划分的每组 6 位的字节中&#xff0c;高位补两个 0 为 8 位后作为一个新的 8 位字节…

脚手架搭建项目package.json配置中依赖的版本问题

脚手架搭建项目package.json配置中依赖的版本问题 问题描述&#xff1a;项目刚搭建好&#xff0c;运行没有问题&#xff0c;为什么过一段时间&#xff0c;删除node_modules&#xff0c;或者重新安装包依赖&#xff0c;然后项目某些地方出现莫名的错误&#xff08;依赖库的地方…

Redis篇:缓存击穿及解决方案

1.何为缓存击穿 缓存击穿问题也叫热点Key问题&#xff0c;就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了&#xff08;有可能是正好过期了&#xff09;&#xff0c;无数的请求访问会在瞬间给数据库带来巨大的冲击。 常见的解决方案有两种&#xff1a; 互斥锁 逻…

c# 连接数据库、excel数据批量导入到数据库

string str $"select from TBa where ... ";DataSet ds new DataSet();using (SqlConnection conn new SqlConnection("server000.000.0.000;database数据库名;user id登录的用户名;password密码;Poolingtrue")){try{conn.Open();SqlCommand com new Sq…

逐行分析Transformer的程序代码,最后免费附上该代码!!

1. 代码详细解释 1. 第一段代码 这段代码首先定义了一些参数&#xff0c;包括编码器个数、输入维度、句子长度、词嵌入维度等。然后它保存了这些超参数到指定路径。接着&#xff0c;它加载训练和验证数据集&#xff0c;并创建了对应的数据加载器。之后&#xff0c;它定义了一个…