docker02--升级应用

1. 将容器作为数据卷来使用

mkdir -p /opt/vol/{a,b}
touch /opt/vol/a/a.txt
touch /opt/vol/b/b.txt

容器j卷的启动

docker container run -it "nginx_volumes" -v /opt/vol/a:/opt/a -v /opt/vol/b:/opt/b id /bin/bash
ctrl+p q

使用数据卷的容器

docker container run -d -p 8085:80 --volumes-from nginx_volumes --name="nginx1" nginx

docker container run -d -p 8086:80 --volumes-from nginx_volumes --name="nginx2" nginx

作用: 在集中管理集群中,大批量的容器都需要挂载相同的多个数据卷时,可以采用数卷容器进行统一管理

2. 制作本地局域网的yum源

步骤

1.安装vsftp
2.上传镜像文件,进行挂载
3.windows验证
yum install -y vsftpd

systemctl start vsftpd
systemctl enable vsftpd

mkdir -p /var/ftp/centos6.9

上传镜像文件
mount -o loop /mnt/CentOS-6.9-x86_64-bin-DVD1.iso  /var/ftp/centos6.9/

df -h
注意,df -h的结果与下边一致,否则可能上传的镜像文件损坏了

配置文件:重要一步
6.9cat >/etc/yum.repos.d/ftp_6.repo <<EOF 
[ftp]
name=ftpbase
baseurl=ftp://172.17.0.1/centos6.9
enabled=1
gpgcheck=0
EOF

7.5cat >/etc/yum.repos.d/ftp_7.repo <<EOF 
[ftp]
name=ftpbase
baseurl=ftp://10.0.0.100/centos7.5
enabled=1
gpgcheck=0
EOF

验证:
ftp://10.0.0.100/centos6.9/
但是有的windows需要配置ftp
可以虚拟机
yum install -y lftp
ftp 192.168.80.201
默认的匿名账户ftp 不需要密码 
ls即可

在这里插入图片描述

3. 基于容器的镜像制作,第二步要完成

3.1 sshd的镜像容器

步骤:

1.启动基础的镜像容器
2.安装需要的软件包
3.启动应用
4.镜像制作
5.实现功能

代码:

docker container run -it --name="sshd1" centos:6.9

进入容器内的操作
cd /etc/yum.repo.d/
mv ./* /tmp
echo -e "[ftp]\nname=ftp\nbaseurl=ftp://172.17.0.1/centos6.9\ngpgcheck=0">/etc/yum.repos.d/ftp.repo

yum makecache fast && yum install openssh-server -y

/etc/init.d/sshd start
/etc/init.d/sshd stop

echo "123456" | passwd root --stdin

docker container commit sshd1 sshd1:v1

docker container run -d --name="ssh2" -p 2222:22 id 

3.2 安装lamp(linux+apache+mysql+php)

步骤:

1.启动基础容器
2.优化yum,安装软件
3.软件初始化
4.制作第一镜像
5.启动第一镜像
6.测试php

代码:

mkdir /opt/vol/{mysql,html} -p

docker run -it --name="bbs1" -v /opt/vol/mysql:/var/lib/mysql -v /opt/vol/html:/var/www/html centos:6.9

mv /etc/yum.repos.d/*.repo /tmp
echo -e "[ftp]\nname=ftp\nbaseurl=ftp://172.17.0.1/centos6.9\ngpgcheck=0">/etc/yum.repos.d/ftp.repo
yum makecache fast && yum install openssh-server htppd mysql mysql-server php php-mysql -y


/etc/init.d/sshd start
/etc/init.d/sshd stop
echo "123456" | passwd  root --stdin 

/etc/init.d/mysqld start
mysql登录
grant all on *.* to root@'%' identified by '123';
grant all on *.* to discuz@'%' identified by '123';
create database discuz charset utf8;

/etc/init.d/httpd start

docker commit c3fd597ec194 bbs1:v1

docker run -it --name="bbs2" -v /opt/vol/mysql:/var/lib/mysql -v /opt/vol/html:/var/www/html -p 8080:80 1cd314cba420

/etc/init.d/mysqld start                                      
/etc/init.d/httpd start

测试:
vim  /var/www/html/index.php 
<?php
phpinfo();
?>

192.168.80.201:8080

3.3 安装discuz论坛,基于centos6.9

网站代码的下载地址:

https://gitee.com/3dming/DiscuzL/attach_files
尽量下载简体
在这里插入图片描述
上传bbs代码到宿主机/opt/vol/html并解压

yum install -y lrzsz
rz -E

unzip DX3.4_R20210630_TC_UTF8.zip 
chmod -R 777 /opt/vol/html
docker commit bbs2  bbs:v1

创建启动脚本:

cd /opt/vol/html 

vim  init.sh 

#!/bin/bash
/etc/init.d/mysqld start 
/etc/init.d/httpd start
/usr/sbin/sshd -D

chmod 777 init.sh 
docker container run -d --name="bbs3" -v /opt/vol/mysql:/var/lib/mysql -v /opt/vol/html:/var/www/html  -p 22222:22 -p 8888:80 -p 33060:3306 ac8888ea3e21 /var/www/html/init.sh

浏览器访问:
在这里插入图片描述
我的discuz的源码目录是这样的,安装目录在upload下边,所以访问的地址在:8888是你自己映射的端口号

192.168.80.201:8888/upload

出现错误:
在这里插入图片描述

改图片的这个位置×:
在这里插入图片描述

解决:

cd /opt/vol/html/upload/config
ll
cp config_ucenter_default.php config_ucenter.php
cp config_global_default.php config_global.php

修改目录权限:
chmod -R 777 /opt/vol/html

刷新解决:

问题2:
在这里插入图片描述
连接数据库失败:
登录进去设置数据库账户密码:

docker containrt exec -it id /bin/bash
mysql
grant all on *.* to root@'%' identified by '123';
grant all on *.* to discuz@'%' identified by '123';

还不行就把其他没用的用户删除了,使用密码登录试试

select user,host from mysql.user;
delete from mysql.user where user="" and host="";

接下来注册登录就行了

在这里插入图片描述

4. 补充说明,centos7.5

centos:7.5.1804_sshd  

mv /etc/yum.repos.d/*.repo /tmp
echo -e "[ftp]\nname=ftp\nbaseurl=ftp://172.17.0.1/centos7.5\ngpgcheck=0">/etc/yum.repos.d/ftp.repo
yum makecache fast && yum install openssh-server  -y

mkdir /var/run/sshd
echo 'UseDNS no' >> /etc/ssh/sshd_config
sed -i -e '/pam_loginuid.so/d' /etc/pam.d/sshd
echo 'root:123456' | chpasswd
/usr/bin/ssh-keygen -A

docker  commit oldguo_c75sshd d2bcdbdfd0f8 
docker container run -d  --name=sshd_2222    -p 222:22  oldguo_c75sshd /usr/sbin/sshd -D
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长安有故里y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值