Linux软件安装

以前,通过yum命令安装软件,是直接把软件安装到linux系统中,安装和卸载都比较麻烦,因为软件和系统是强关联

Docker

是一种容器技术,解决软件和系统强关联关系,使得软件的安装和卸载非常方便

可以将我们的应用以及依赖进行打包,制作出一个镜像(软件安装包及相关依赖),可以在linux、windows中的docker中运行。

docker采用沙箱隔离机制,部署运行的软件之间相互隔离,与操作系统也是隔离的

docker架构

docker使用客户端 - 服务器架构。 Docker 客户端 (client) 与 守护进程 (Docker daemon) 进行对话,该 守 护进程 完成了构建、运行和分发 Docker 容器的繁重工作

仓库( Repository ): 是 docker 提供的一个用来保存镜像的仓库 .
镜像( Image 镜像就是一个可执行的包 , 用来创建容器 ,docker 中每一个软件就是一个镜像 .
容器( Container ): 容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

docker安装
安装 yum-utils,配置镜像源需要使用

复制代码
yum install -y yum-utils

设置更新 docker镜像源

复制代码
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装

复制代码
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

测试 docker 版本

复制代码
docker -v

启动常用命令

复制代码
docker安装成功后并没有启动,
启动命令
systemctl start docker
关闭命令
systemctl stop docker
设置开机自动启动
systemctl enable docker

docker配置

主要是配置docker国内的镜像源地址
配置镜像加速
在 etc 下创建 docker 目录

复制代码
mkdir -p /etc/docker

进入 docker 目录

复制代码
cd /etc/docker

创建 daemon.json 文件

复制代码
touch daemon.json

修改文件

复制代码
vim daemon.json
{
"registry-mirrors": ["https://dockerhub.icu"]
}

重载配置

复制代码
systemctl daemon-reload

重启

复制代码
systemctl restart docker

docker卸载

1、先停止服务

复制代码
systemctl stop docker

2、卸载

复制代码
yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin

3、删除文件

复制代码
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

docker镜像命令

docker镜像命令,就是对镜像文件操作的命令

从远程仓库拉取镜像文件(docker pull 镜像名),查看本地镜像(docker images),删除镜像(docker rmi 镜像名)删除镜像前需要先删除对应的容器,载入本地镜像(docker load -i 镜像名文件)

docker容器命令

运行容器:docker run 一系列配置 镜像名

查看容器:docker ps -a

停止容器:docker stop 容器名

启动容器:docker start 容器名

删除容器: 删除容器前,先停止容器 docker rm 容器名 ,和删除镜像有区别(docker rmi 镜像名

查看容器日志:docker logs 容器名

进入到docker容器中:docker exec -it 容器名/容器id bash

数据卷挂载

数据卷:是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁
它将宿主机目录映射到容器内目录,方便我们操作容器内文件,或者方便迁移容器产生的数据。
在执行docker run时使用 -v数据卷目录:容器内目录,完成数据卷挂载

复制代码
docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
-v /opt/mysql/data:/var/lib/mysql \
mysql:8.0

nginxi

nginx是一个由俄罗斯程序员开发的一款前端web服务器(只能运行前端项目,不能运行java项目),运行内存少,性能高,最大并发连接数量可以达到50000个

docker安装nginx

拉取镜像

复制代码
docker pull nginx:1.24

创建数据卷

复制代码
mkdir -p /opt/nginx/html

将写好的前端新项目部署到html中

安装的命令

复制代码
docker run -d -p 80:80 \
--name nginx \
--restart=always \
--privileged=true \
-v /opt/nginx/html:/usr/share/nginx/html \
nginx:1.24

-v /opt/nginx/html对应的是宿主机的数据卷
我们只需要将文件部署到宿主机的 /opt/nginx/html 目录下即可

相关推荐
wdfk_prog13 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
七夜zippoe13 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥13 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
忆~遂愿14 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘14 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy64815 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满15 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠15 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio15 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice15 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习