yum install docker-ce
1.5、验证
yum list docker-ce --showduplicates | sort -r
列出可用的Docker社区版(Docker CE)软件包及其不同版本,并按照版本号降序排序
yum list docker-ce
: 这部分命令用于列出系统中可用的所有Docker CE软件包及其各个版本。这会显示出每个版本的软件包名称、版本号、仓库来源等信息。--showduplicates
: 此选项告诉YUM显示所有可用版本的软件包,而不仅仅是最新的版本。这对于了解系统中的不同版本非常有用。|
: 这是管道操作符,将一个命令的输出作为另一个命令的输入。sort -r
: 这部分命令用于对前一个命令的输出进行排序。sort
命令按照默认的字典顺序进行排序,-r
选项表示按照降序排序(从高到低版本号)。
1.6、启动docker
systemctl start docker
1.7、配置docker开机自启
systemctl enable docker
1.8、查看docker运行状态
systemctl status docker
2、安装(官方版)
Linux CentOS7 系统
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o
$DOCKER_CONFIG/cli-plugins/docker-compose
curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o curl命令分析
这个命令使用 curl 工具从指定的URL下载文件并保存到本地。让我们逐步分析这个命令:
curl: 这是一个命令行工具,用于进行网络数据传输。在这里,它被用于从远程服务器下载文件。
-SL: 这是 curl 命令的选项,具有以下含义:
-S: 该选项告诉 curl 在出现错误时不显示进度条,但仍然显示错误信息。
-L: 该选项告诉 curl 自动跟随重定向链接。这对于下载重定向的文件非常有用。
https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64: 这是要下载的文件的URL。它指向了一个名为 docker-compose-linux-x86_64 的文件,版本为 v2.20.3,位于 GitHub 上 Docker Compose 的发布页面上。
-o: 这是 curl 命令的选项,用于指定下载后保存的本地文件名。在这里,它告诉 curl 将下载的文件保存为当前工作目录下的文件,文件名为 docker-compose-linux-x86_64(与远程文件名相同)。
2.1、对二进制文件应用可执行权限:
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
3、测试安装
docker compose version
#出现Docker Compose version v2.20.3 成功
附加:
docker-compose卸载
rm $DOCKER_CONFIG/cli-plugins/docker-compose
docker-compose实战
1、这个是之前docker创建mysq镜像并启动的命令(只做对比)
docker run
-i \
-t \
-d \
-p 3306:3306 \
-m="1024M" \
--privileged=true \
-v /data/software/mysql/conf/:/etc/mysql/conf.d \
-v /data/software/mysql/data:/var/lib/mysql \
-v /data/software/mysql/log/:/var/log/mysql/ \
-e MYSQL_ROOT_PASSWORD=root \
--name=mysql mysql:5.7.19
docker run
: 这是Docker命令,用于运行一个新的容器。-itd
: 这是一些标志的组合,含义如下:-i
: 保持标准输入打开,以便能够与容器进行交互。-t
: 为容器分配一个伪终端(pseudo-tty)。-d
: 让容器在后台运行(以分离模式)。
-p 3306:3306
: 将主机(宿主机)的端口3306映射到容器的端口3306,这允许你通过主机的3306端口访问在容器内运行的MySQL服务。-m="1024M"
: 指定容器使用的内存限制为1GB。这会限制容器可以使用的最大内存量。--privileged=true
: 赋予容器特权,允许它在主机操作系统上执行一些高级操作。这在某些情况下可能是必要的,但是要注意潜在的安全风险。-v /data/software/mysql/conf/:/etc/mysql/conf.d
: 将主机上的/data/software/mysql/conf/
目录挂载到容器内的/etc/mysql/conf.d
目录。这允许你通过编辑主机上的配置文件来配置MySQL容器。-v /data/software/mysql/data:/var/lib/mysql
: 将主机上的/data/software/mysql/data
目录挂载到容器内的/var/lib/mysql
目录。这是MySQL容器用于存储数据的位置。-v /data/software/mysql/log/:/var/log/mysql/
: 将主机上的/data/software/mysql/log/
目录挂载到容器内的/var/log/mysql/
目录,用于存储MySQL日志。-e MYSQL_ROOT_PASSWORD=winner@001
: 设置MySQL的root用户的密码为"root"。这将在容器启动时作为环境变量传递给MySQL容器。--name=mysql
: 给容器取了一个名字叫做"mysql",这样你可以使用这个名称来管理容器,而不需要使用容器的ID。mysql:5.7.19
: 这是要在容器中运行的MySQL Docker镜像的名称和版本。
2、编写docker-compose-mysql.yml
vim docker-compose-mysql.yml
#这一行指定了 Docker Compose 文件的版本。在这种情况下,使用的是版本 3。
version: "3"
#这一部分定义了一个名为 "mysql" 的服务,使用 MySQL 5.7.19 版本的 Docker 镜像。它将创建一个 MySQL 容器。
services:
mysql:
image: mysql:5.7.19
#表示当容器停止时,它会自动重新启动,确保 MySQL 服务持续可用。
restart: always
#为容器指定一个名称,即 "mysql"。
container\_name: mysql
#将主机的 3306 端口映射到容器的 3306 端口,这使得你可以通过主机的 3306 端口访问 MySQL 服务。
ports:
- 3306:3306
#将主机上的三个目录分别挂载到容器内的相应目录中,实现了配置、数据和日志的持久化存储。这对于避免数据丢失以及配置和日志的可维护性都非常重要。
volumes:
- /data/software/mysql/conf/:/etc/mysql/conf.d
- /data/software/mysql/data:/var/lib/mysql
- /data/software/mysql/log/:/var/log/mysql
#设置 MySQL 容器的环境变量。这些变量会在容器启动时传递给 MySQL 服务:
environment:
#设置 MySQL 的 root 用户密码为 "root"。 默认用户名为root
MYSQL\_ROOT\_PASSWORD: root
#创建一个名为 "test" 的数据库。
MYSQL\_DATABASE: test
#创建一个名为 "bing" 的用户。
MYSQL\_USER: bing
#设置用户 "bing" 的密码为 "123456"。
MYSQL\_PASSWORD: 123456
3、使用docker-compose启动
#-d 后台启动
docker compose -f docker-compose-mysql.yml up -d
启动成功
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-3pwNZHCP-1712519381984)]