I have migrated my site to Oracle Linux 7 on ARM64 just because I was curious how it would work on ARM64 or if it would work on ARM64 at all.
As of this writing, I’ve got this WordPress site on Docker to work on Oracle Linux 7 on ARM64 processor. It was some struggle but I feel it’s snappier.
Here is the Docker Compose file that works for this site. As you can see, I commented out the mysql image and using Maria DB for ARM64 instead. Maria DB is a fork for MySQL, so it’s sufficient enough for my personal blog site.
version: "3.9"
services:
db:
image: arm64v8/mariadb # mysql/mysql-server:8.0.20-aarch64
volumes:
- ./mysql:/var/lib/mysql
restart: always
command: mysqld --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: YourPassword
MYSQL_DATABASE: hayato_iriumi_db
MYSQL_USER: blog_admin
MYSQL_PASSWORD: AnotherPassword
networks:
proxynet:
phpmyadmin:
depends_on:
- db
image: arm64v8/phpmyadmin
restart: always
ports:
- '8080:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: YourPassword
networks:
proxynet:
wordpress:
image: arm64v8/wordpress
container_name: wordpress
depends_on:
- db
# ports:
# - "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: blog_admin
WORDPRESS_DB_PASSWORD: AnotherPassword
WORDPRESS_DB_NAME: hayato_iriumi_db
WORDPRESS_DEBUG: 'true'
volumes:
- ./html:/var/www/html
- ./wp-content:/var/www/html/wp-content
networks:
proxynet:
reverse:
image: arm64v8/nginx
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/conf.d:/etc/nginx/conf.d
ports:
- "80:80"
- "443:443"
restart: always
networks:
proxynet:
volumes:
db_data: {}
wordpress: {}
networks:
proxynet:
Docker Compose 2 works well on ARM64 as well. It is definitely faster than Docker Compose 1. By just changing the platform, I feel I upgraded my blog site for a better performance.