CentOS8已经发布第2版了,之前刚出来,也试着用了一下,发现对于老硬件的支持性不好,而我的测试机正好在不支持的范围内,也就没有折腾。趁着centos8.1.1911发布,加之假期,再次折腾一下。
1.测试机的lspci信息:
05:00.0 Network controller: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
09:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8040 PCI-E Fast Ethernet Controller
这是我的三星N148上网本的网卡信息,很老的机子了,10年前的。
通过U盘进行最小化安装,在图形界面下,只能看到无线网卡,尽管安装时已经配置了无线网络的密码等,但是安装后WiFi无法自动启动,通过nmcli 发现“plugin missing”错误。搜索了一下,找到解决方法,也就是安装“NetworkManager-wifi”即可,不过还需要wpa_supplicant-2.7-1.el8.x86_64.rpm 才可以。
这里直接给出两者的下载地址
http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/wpa_supplicant-2.7-1.el8.x86_64.rpm
2.podman命令
podman从网上的说明看,和docker差不多,大部分命令都可用,只有细微差别。直接用pull拉取镜像
podman pull nginx
podman pull mariadb
podman pull php:7.4-fpm
podman pull seafileltd/seafile
podman pull onlyoffice/Documentserver
注意! podman 可以在非root账号下运行容器,所以,什么身份进行操作也是比较重要的。 以普通用户和以root身份pull下来的images存储位置不同,并且, “podman image list" 只显示当前用户拉取的镜像。
拉取的镜像的存储位置, 可以通过”podman info"来获取相关信息。
3. 原本想着用 podman network create 命令来设置一个容器之间的虚拟局域网的,结果podman是1.4.2版本,网上搜索了一番,看到说是podman-1.6.0以上才增加了这个命令,偏偏当前还没有升级或者安装的方法,所以这个先搁置,直接单独构建容器好了。
podman run -itd --name mysql -h mysql --privileged=true -p 3306:3306 -v /home/sql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456789 mariadb
podman run -itd --name mynginx -h nginx --privileged=true -p 80:80 -v /home/html:/usr/share/nginx/html nginx
podman run -itd --name myphp -h php --privileged=true -p 9000:9000 -v /home/html:/usr/share/nginx/html php:7.4-fpm
使用 ~# podman inspect contaimer_name_ID | grep IPAddress\": 用来显示各个容器的内部ip
4. 修改nginx的配置文件
在podman的命令中,不知道是不是我操作不对? 还是需要加上什么参数, 总之,从容器向本地cp,只能cp文件夹,向容器内CP也是一样,和之前docker命令有所不同。
4.1 cp 原本的配置文件
podman cp mynginx:/etc/nginx/conf.d conf.d
vi conf.d/default.conf
4.2 对default.conf文档进行修改
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm; #增加了一个index.php
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
# root html;
fastcgi_pass 10.88.0.6:9000; #这里是myphp 的ip
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
#上面这一行也比较关键,这个路径是php容器内的路径。如果上一步构建php容器使用的是 /var/www/html/ 则用就是 /var/www/html
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
4.3 将修改好的文档cp进容器
podman cp /home/conf.d mynginx:/etc/nginx/
4.4 新建 info.php文件
vi /home/html/info.php
文件内容: <?php phpinfo();?>
4.5 重启 mysql myphp mynginx
podman mysql myphp mynginx
输入 http://host-ip/info.php 应当看到类似下面的画面
5. 安装phpMyAdmin 管理mysql
下载并解压phpMyAdmin到 /lnmp/nginx/html中,通过浏览器进入
http://host-ip/phpMyAdmin/
出现错误:
很明显,要在myphp容器中添加mysqli扩展
5.1.为php容器添加扩展组件
podman exec -it myphp /bin/bash #进入myphp容器$ cd /usr/local/bin #进入安装命令和组件所在目录
./docker-php-ext-install pdo_mysql #安装扩展pdo_mysql
./docker-php-ext-install mysqli #安装扩展 mysqli
exit #退出myphp容器
5.2 重启 myphp容器
podman restart myphp
5.3.再次尝试 http://host-ip/phpMyAdmin/
5.4 登录时会出现错误提示,因为phpMyAdmin没有和mysql容器正确连接,需要对其配置文件进行修改
vi /home/html/phpMyAdmin\libraries\config.default.php
将下列配置项进行修改: $cfg['Servers'][$i]['host']='10.88.0.4';
刷新登录页面即可正确登录
6.onlyoffice 容器的配置
来源:CSDN
作者:lggirls
链接:https://blog.csdn.net/lggirls/article/details/104047366