当前位置: 首页 > article >正文

在Linux中对Docker中的服务设置自启动

先在Linux中安装docker,然后对docker中的服务设置自启动。

安装docker

第一步,卸载旧版本docker。

若系统中已安装旧版本docker,则需要卸载旧版本docker以及与旧版本docker相关的依赖项。

命令:yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

第二步,安装gcc依赖。

命令:yum -y install gcc gcc-c++

第三步,使用docker仓库进行安装。

在新主机上首次安装docker Engine-Community之前,需要设置docker仓库。之后,可以从仓库安装和更新docker。

# 设置仓库,安装所需的软件包。

命令:yum install -y yum-utils device-mapper-persistent-data lvm2

# 设置稳定的仓库,使用官方源地址(比较慢)

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

# 可以选择国内的一些源地址,如阿里云

命令:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 可以选择国内的一些源地址,如清华大学源

命令:yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

第四步,安装docker Engine-Community。

# 更新yum软件包索引

命令:yum makecache

# 安装最新版本的docker Engine-Community和containerd

命令:yum -y install docker-ce docker-ce-cli containerd.io

# 查看docker-ce是否成功安装

命令:yum list docker-ce

docker安装完默认未启动,并且已经创建好docker用户组,但该用户组下没有用户。

# 列出存储库中可用的版本并按版本号从高到低进行排序

命令:yum list docker-ce --showduplicates | sort -r

# 通过其完整的软件包名称安装特定版本,如docker-ce-24.0.0。

命令:yum -y install docker-ce-24.0.0 docker-ce-cli-24.0.0 containerd.io

第五步,启动docker。

命令:systemctl enable docker

systemctl start docker

systemctl restart docker

若结果显示“Job for docker.service failed because the control process exited with error code.See "systemctl status docker.service" and "journalctl -xe" for details.”,则运行如下命令:

systemctl daemon-reload

systemctl restart docker.service

第六步,验证docker Engine-Community是否正确安装。

命令:docker version

docker run hello-world

若结果显示“Hello from docker!”,则说明docker Engine-Community正确安装。

进行docker网络端口映射

第一步,创建执行网络端口映射容器。

# 设置面板端口号为8888

命令:docker run -dit --restart=always \

--privileged=true \

--cap-add SYS_ADMIN \

-e container=docker \

--network bridge \

-p 8888:8888 \

-p 443:443 \

-p 80:80 \

-p 3306:3306 \

-p 21:21 \

-v /data:/data \

--name appnode \

sbwml/appnode:latest \

/usr/sbin/init

第二步,列出当前所有正在运行的容器。

命令:docker ps

第三步,列出当前所有正在运行的镜像。

命令:docker images

第四步,访问appnode面板。

登录网址:http://x.x.x.x:8888/login

如果页面成功显示“APPNODE 轻松运维 从此开启”,则说明appnode面板安装成功并且docker网络端口映射成功。

利用原始账号:admin,原始密码:admin,登录appnode面板。

卸载docker

# 卸载docker

命令:systemctl stop docker

yum remove docker-ce docker-ce-cli containerd.io

# 删除安装包

命令:yum remove docker-ce

# 删除镜像、容器、配置文件等内容

命令:rm -rf /var/lib/docker

rm -rf /var/lib/containerd

对docker中的服务设置自启动

第一步,进入docker。

命令:docker ps

docker exec -it [容器ID] /bin/bash

第二步,找到服务的原始启动脚本,然后记下原始启动脚本的目录。

第三步,进入/etc/rc.d/init.d文件夹,然后新建服务自启动脚本。

命令:cd /etc/rc.d/init.d/

yum -y install vim

vim cloud-agent-start

在cloud-agent-start脚本中加入下面的代码:

#!/bin/bash

#

# chkconfig: 2345 80 20

prog=cloud-agent

case "$1" in

start)

    cd /root

    ./cloud-agent up -d

    ;;

stop)

    cd /root

    ./cloud-agent stop

    ;;

res)

    cd /root

    ./cloud-agent stop

    sleep 60

    cd /root

    ./cloud-agent up -d

    ;;

*)

    echo "Usage: $prog {start|stop|res}"

    ;;

esac

exit 0

第四步,给予/etc/rc.d/init.d/cloud-agent-start文件权限。

命令:chmod +x /etc/rc.d/init.d/cloud-agent-start

第五步,设置开机自启。

命令:chkconfig --add cloud-agent-start

chkconfig cloud-agent-start on

第六步,检查一下脚本是否有用。

命令:/sbin/chkconfig --list cloud-agent-start

如果结果显示“cloud-agent-start 0:off 1:off 2:on 3:on 4:on 5:on 6:off”,则说明脚本文件有用。

第七步,退出docker,然后重启服务器。

命令:shutdown -r now  #立刻重启

或        reboot           #立刻重启

或        init 6           #立刻重启

或        shutdown -r 10   #过10分钟自动重启

第八步,cloud-agent服务启动、关闭以及重启命令。

命令:docker exec -it [容器ID] /bin/bash

ps -ef | grep cloud-agent

systemctl start cloud-agent-start

systemctl stop cloud-agent-start

systemctl reload cloud-agent-start


http://www.kler.cn/a/146464.html

相关文章:

  • 1.8 GPT-4:开创人工智能的新纪元
  • 时序数据库TDengine 3.3.5.0 发布:高并发支持与增量备份功能引领新升级
  • Jmeter 简单使用、生成测试报告(一)
  • 【Linux】Mysql部署步骤
  • 安装指南:LLaMA Factory、AutoGPTQ 和 vllm
  • 《HTML在网络安全中的多面应用:从防范攻击到安全审查》
  • 一起学docker系列之八使用 Docker 安装配置 MySQL
  • 梨花声音教育,美食视频配音再次挑战味蕾
  • rdf-file:分布式环境下的文件处理
  • 131.类型题-计算数学序列的和,请编写函数fun,其功能是S=……【满分解题代码+详细分析】(数学序列的和类型题-C/C++JavaPython实现)
  • 小程序wx:if和hidden的区别?
  • 卸载软件最最最彻底的工具——Uninstall Tool
  • PgSQL技术内幕-Analyze做的那些事-pg_stat_all_tables
  • LLaMA 2:开源的预训练和微调语言模型推理引擎 | 开源日报 No.86
  • 【虚拟机】在VM中安装 CentOS 7
  • 如何使用内网穿透将Tomcat网页发布到公共互联网上【内网穿透】
  • 首批!创邻科技入选《图数据库金融应用场景优秀案例》
  • python之yaml技术(可用于写接口自动化的测试用例文件)
  • 01、copilot+pycharm
  • 【Linux】vim-多模式的文本编辑器
  • 综合运用DML、DDL、DCL、TCL语句与事务管理
  • 成都优优聚美团代运营——让您脱颖而出!
  • C语言编译过程再解析
  • YOLO的网络结构组成
  • 数据库系统原理与实践 笔记 #10
  • Jupyter Notebook本地部署并实现公网远程访问内网Jupyter服务器【内网穿透】