天天看點

體驗manpod下安裝wordpress

環境準備:

Centos8 下載下傳位址:http://mirrors.aliyun.com/centos/8/isos/x86_64/

我用的版本是CentOS 8.3 ,預設repo檔案中使用了mirrorlist 取代 baseurl,能根據客戶IP從地理位置上選擇鏡像源,不用再單獨設定阿裡源。

如果要單獨設定阿裡源,要先移除repo檔案,再從阿裡下載下傳repo檔案:

mv /etc/yum.repos.d/* /tmp

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

系統安裝完畢後更新一下:

dnf update -y

關閉SeLinux:

vi /etc/sysconfig/selinux

SELINUX=disabled

設定時區:

timedatectl set-timezone Asia/Shanghai

重新開機CentOS:

reboot

檢視核心版本:

uname -r

4.18.0-240.1.1.el8_3.x86_64

dnf install podman -y

podman加速鏡像配置:

cp /etc/containers/registries.conf{,.bak} 

cat > /etc/containers/registries.conf << EOF 

unqualified-search-registries = ["docker.io"]

[[registry]] 

prefix = "docker.io" 

location = "uyah70su.mirror.aliyuncs.com" 

[[registry.mirror]]

prefix = "docker.io"

location = "hub-mirror.c.163.com"

EOF

拉取鏡像:

podman pull wordpress

podman pull mariadb

檢視鏡像:

podman image ls 

REPOSITORY                      TAG     IMAGE ID          CREATED      SIZE

docker.io/library/wordpress   latest   0d35c2300ec8   9 days ago     558 MB

docker.io/library/mariadb      latest   3a348a04a815  2 weeks ago   413 MB

通過podman network inspect podman可以看到預設網段是10.88.0.0/16,在centos8.2及更高的版本中,可以增加 --ip  10.88.0.XXX  參數,為容器指定一個固定的ip了

建立資料庫相關存放目錄:

mkdir -p /opt/mysql/{data,log,conf.d}

如果重建資料庫容器,要把上面三個目錄内檔案全部删除。

啟動容器:

podman run -itd --name mysql -h mysql \

--privileged=true \

--ip 10.88.0.8 \

-p 3306:3306 \

-v /opt/mysql/data:/var/lib/mysql \

-v /opt/mysql/conf.d:/etc/mysql/conf.d \

-v /opt/mysql/log:/var/log/mysql \

-v /etc/localtime:/etc/localtime:ro \

-e MYSQL_ROOT_PASSWORD=W0rdPress \

-e MYSQL_DATABASE=wordpress \

-e MYSQL_USER=wordpress \

-e MYSQL_PASSWORD=Passw0rd \

-e MYSQL_ROOT_HOST=% \

mariadb

podman run -itd --name wordpress -h wordpress \

-v /etc/localtime:/etc/localtime:ro \

--privileged=true \

--ip 10.88.0.7 \

-p 80:80 -p 443:443 \

-e WORDPRESS_DB_HOST=10.88.0.8:3306 \

-e WORDPRESS_DB_USER=wordpress \

-e WORDPRESS_DB_PASSWORD=Passw0rd \

wordpress

防火牆開放http和https端口:

firewall-cmd --add-service=http --permanent

firewall-cmd --add-service=https --permanent

systemctl restart firewalld

這時可以通過浏覽器通路 “http://容器主控端IP” 來通路wordpress了,親測通過。

如果有問題,用podman logs <容器ID>來檢視日志。

設定開機啟動

vi /etc/systemd/system/mysql.service 

[Unit]

Description=mysql

After=network.target network-online.target

[Service]

Type=simple

ExecStart=/usr/bin/podman start -a mysql 

ExecStop=/usr/bin/podman stop -t 10 mysql

Restart=on-failure

[Install]

WantedBy=multi-user.target

vi /etc/systemd/system/wordpress.service 

[Unit]

Description=WordPress

Wants=network.target network-online.target

After=network.target network-online.target mysql.service

[Service]

Type=simple

ExecStart=/usr/bin/podman start -a wordpress

ExecStop=/usr/bin/podman stop -t 10 wordpress

Restart=on-failure

[Install]

WantedBy=multi-user.target

podman stop wordpress

podman stop mysql

systemctl enable mysql

systemctl enable wordpress

systemctl start mysql

systemctl start wordpress

systemctl status mysql

systemctl status wordpress

務必要用status檢查服務是否Active。我初次就沒有Active,删除容器重新建立後正常了。

重新開機主機測試

reboot

繼續閱讀