centos安装docker,docker安装centos进而安装宝塔

背景

由于工作需要自己有许多的web应用要部署在云服务器上。然而资金有限每年都要去阿里云,腾讯云,华为云买最便宜的服务器,这就意味着每年都要经历一次痛苦的环境安装项目部署的过程(nginx、mysql、elasticsearch、redis等等)还要同步迁移各种数据

docker介绍

理论的概念不做介绍了。通俗讲就是在docker中部署一下centos操作系统墨迹买云服务器的过程,然后进行一次部署,后面就这个拿着这个容器的镜像实现一次性迁移极大程序上降低工作量

centos7安装docker

  • 安装docker环境依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
  • 指定Docker镜像源:默认下载Docker会去国外服务器下载,速度较慢,我们可以设置为阿里云镜像源,速度更快
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

成功截图:
在这里插入图片描述

  • 更新yum缓存(由于重新配置了镜像源所以更新一下)
yum makecache fast
  • 安装docker-ce(社区版),这里估计要运行一会
yum -y install docker-ce

成功截图:
在这里插入图片描述

  • 启动docker
systemctl start docker

可以查看一下docker版本确认一下启动成功:

docker -v

版本号截图:
在这里插入图片描述

  • 设置docker为开机自启动
systemctl enable docker

docker基础命令

镜像方面命令

下载镜像(以下拉最新版nginx为例,这里各种软件的名字格式要自己百度一下了)
docker pull nginx:lates
查看本地镜像
docker images

效果图:
在这里插入图片描述

删除镜像(其中92b11f67642b是上图的镜像ID,应该也可以是镜像名字)
docker rmi 92b11f67642b
远程仓库查找镜像(以搜索nginx为例)
docker search nginx

效果图:
在这里插入图片描述

容器转镜像并生成文件
docker commit  centos7  cenots7:v1    #将正在运行的容器打包为镜像

docker save -o centos7v1.tar cenots7:v1  #将此镜像保存为文件 

容器方面命令

镜像生成容器
docker run -itd --name centos7 -p 7474:7474 -p 8889:22 -p 8801:80 -p 8802:8802 -p 39253:39253 -p 7575:7575 --restart always --privileged centos:20221011 /usr/sbin/init
  • -i和-t :这两个参数一起使用,使容器启动后进入交互式命令行(可以进入容器中敲命令)
  • -d :这个参数表示在后台运行容器,并返回容器的ID。
  • -p :这个参数用于将容器的端口映射到主机的端口,使得主机可以通过这些端口访问容器中的应用。
  • –name :这个参数用于指定容器的名称,方便后续对容器进行操作。
  • –restart:设置容器的重启策略。always(白话讲就是docker重启后容器也自动重启)
  • –privileged:以特权模式运行容器,具有访问主机系统的权限。
    /usr/sbin/init : 容器运行后可以使用systemctl方法
进入容器命令行
docker exec -it <container_id> /bin/bash
查看运行中容器
docker ps
查看所有容器(含停止运行与容器存储信息)
docker ps -a -s
停止运行容器
docker stop 容器名
删除容器
docker rm 容器名

docker安装Centos7(开始套娃)

下拉纯净的centos7镜像
docker pull centos:centos7

这个镜像版本网上查到,有更好的也可选择其他的

生成纯净的Centos7容器
docker run -itd --name centos7 -p 8888:8888 -p 80:80 -p 443:443 -p 3306:3306 --restart always --privileged centos:centos7 /usr/sbin/init

参数参考上面基础命令部分的介绍,实际情况自行添加或修改端口映射关系(一定要先准备好要用到的端口映射不然非常麻烦)

在Centos7容器中安装宝塔
  • 进入容器的命令行
docker exec -it centos7 /bin/bash
  • 运行宝塔安装脚本(可能会更新自行宝塔官网查询最新版)
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
  • 安装成功后记下宝塔的外网访问地址、用户名与密码,截图如下:
    在这里插入图片描述
  • 由于新版本的宝塔安装完成后会自定义一个宝塔面板的端口,所以在运行这个容器做端口映射时要自己事先准备一个,然后使用宝塔面板命令将端口号改为准备好的映射端口,如图:
    在这里插入图片描述
浏览器访问容器内宝塔面板

那么最后宝塔面板的地址就是将你修改后的端口(我这里是8888)替换掉默认的端口即可,成功访问截图(记得开发云服务器的安全组端口):
在这里插入图片描述

接下来就可以通过宝塔配置相应的web应用系统了。

问题整理

  • 宝塔在安装Nginx时第一遍安装失败了,第二遍才成功具体原因不清楚多试几次应该就可以了
  • 想要增加容器的端口映射,需要先将现有容器报存为新的镜像然后用新的镜像运行新的容器进而增加新的端口映射
  • 如果想要删除容器(该容器中之前配置过网站)提示***/.user.ini : operation not permitted
    运行一下这个命令再去删除即可(如果不行也可以试试先把文件权限给www用户然后再删除)
chattr -i ***/.user.ini

参考链接

学识尚浅、能力有限、不喜勿喷

  • 26
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值