Linux 安装 Docker +Docker Compose + cucker/get_command_4_run_container

news/2024/10/21 10:18:08/

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.ppmy.cn/news/1427683.html

相关文章

es安装中文分词器

下载地址,尽量选择和自己本地es差不多的版本 https://github.com/infinilabs/analysis-ik/releases 下载好,解压,把里面的文件放到es的plugins/ik目录下 把plugin-descriptor.properties文件里的es版本改成自己对应的 再启动es,能…

FlinkSQL State的生命周期

FlinkSQL未显示配置state生命周期 FlinkSQL默认没有配置state 的过期时间。也就是说默认情况是FlinkSQL从不清除状态。如果状态后端保存在rocksdb中,直到本地磁盘被打满,服务挂掉,报错如下: java.io.IOException: [bf3ba881614e…

【linux】centos7 开机 进单用户模式修改root密码

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

5G网络架构;6G网络架构

目录 5G和6G架构 6G网络架构 5G和6G架构 在设计和功能上有显著的区别,这主要体现在它们各自的核心特点、优势和应用场景上。 5G技术架构的核心特点包括高速率与低延迟、大容量与高密度以及网络切片。高速率与低延迟极大地提升了用户体验,支持更多实时应用和大规模数据传输…

[Kubernetes] etcd的集群基石作用

文章目录 1. 配置存储2. 数据一致性3. 服务发现与协调4. 集群状态中枢5. 集群稳定性 1. 配置存储 etcd作为一个高度可靠的分布式键值存储系统,存储了Kubernetes集群的完整配置和状态数据。集群的元数据,包括节点信息、命名空间、部署、副本集、服务、持…

物联网嵌入式ESP32开发实战,从基础到项目程序开发125例【doc.yotill.com】

一、ESP32基础入门例程开发 物联网嵌入式ESP32开发例程-ESP32实现ADC模拟量信号采集(ESP-IDF VSCode编程) 物联网嵌入式ESP32开发例程-ESP32实现RTC实时时钟(ESP-IDF VSCode编程) 物联网嵌入式ESP32开发例程-ESP32实现USB虚拟串口…

深入Git配置

git配置 git config -h usage: git config [<options>]Config file location--global use global config file--system use system config file--local use repository config file--worktree use per-worktree con…

LeetCode 面试经典150题 219.存在重复元素II

题目&#xff1a;给你一个整数数组 nums 和一个整数 k &#xff0c;判断数组中是否存在两个 不同的索引 i 和 j &#xff0c;满足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 思路&#xff1a; 代码…