很多时候,现场环境都是离线环境,如果想要安装一个软件,那是非常困难的。不能直接使用RPM在线安装。
但是RPM的downloadonly允许我们把需要安装的依赖都先下载下来,这样再把这些RPM包拷贝到指定机器,同样可以正确安装。
例如,我们现在要在一台离线机器上安装Docker,首先本地必须有一个同样系统的环境。
安装yum-utils
sudo yum install -y yum-utils
添加DockerCE的阿里云仓库
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新您的包列表
sudo yum makecache fast
下载yum-utils安装包,该命令,会将需要安装的RPM包下载到当前目录
sudo yumdownloader yum-utils
将下载的安装包拷贝到离线的CentOS7服务器
rpm -ivh yum-utils*.rpm
下载Docker需要的包以获取列表
yum install --downloadonly --downloaddir=/dok docker-ce docker-ce-cli containerd.io
将下载的安装包拷贝到离线的CentOS7服务器,在离线服务器上安装Docker
yum localinstall -y *.rpm
启动并启用 Docker
sudo systemctl start docker sudo systemctl enable docker
如果我们还需要打一个本地Docker的景象直接到现场使用,录入我们需要安装rabbitmq
在本地环境,拉取最新MQ
docker pull rabbitmq
查看当前镜像列表
docker images
删除镜像
docker rmi 40836426afce
运行一个MQ容器,并指定自动启动
docker run -d --name rabbitmq --restart always -p 15672:15672 -p 5672:5672 6c3c2a225947
查看当前运行的容器列表
docker ps -a
进入指定容器
docker exec -it rabbitmq /bin/bash
配置MQ
rabbitmqctl add_user admin 123456 rabbitmqctl set_user_tags admin administrator rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
从容器创建镜像
docker commit -a "cui" -m "gtgj mq" -p 085fd5780889 rabbitmq:20240614
把镜像保存文件
docker save -o rabbitmq20240614.tar rabbitmq:20240614
从文件恢复镜像
docker load -i rabbitmq20240614.tar
对于已经在运行的容器,如果启动时没有指定重启策略,可以通过docker update命令来添加或修改重启策略。例如:
docker update --restart=always <容器ID或名称>