先在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