How to install WordPress with Docker on a VPS or a dedicated server

Pokaż jako Markdown

Find out how to quickly install WordPress with Docker on a VPS or an OVHcloud dedicated server

Objective

Installing WordPress on a VPS or dedicated server has several advantages, such as full customization of the environment, performance optimization, and enhanced security. There are several ways to install WordPress on a VPS or dedicated server, depending on your technical level and the time you want to devote to it. One of the quickest and most efficient ways to do this is to use Docker. Docker makes it easy to deploy applications by 'containerizing' them, making WordPress installation fast, easy, and repeatable in any environment.

Find out how to install WordPress manually with Docker on a VPS or an OVHcloud Dedicated Server.

Informacje dotyczące administrowania usługami OVHcloud oraz jak znaleźć odpowiednią pomoc

Podczas korzystania z przewodników OVHcloud pamiętaj o następujących warunkach:

  • Instrukcje zawierają możliwie najwięcej szczegółów, ale nie mogą obejmować wszystkich indywidualnych przypadków użycia. Może być konieczne dostosowanie opisanych działań do Twoich potrzeb.
  • Ekosystem OVHcloud został zaprojektowany z myślą o elastyczności i swobodzie wyboru. Klienci są zatem odpowiedzialni za bezpieczną i prawidłową konfigurację swoich usług. Aby zapobiec utracie danych, zdecydowanie zalecamy stosowanie strategii kopii zapasowych dla wszystkich ważnych danych.
  • Nasze przewodniki i tutoriale mogą odwoływać się do oprogramowania lub usług firm trzecich w połączeniu z rozwiązaniami OVHcloud. Wsparcie techniczne OVHcloud nie obejmuje konfiguracji systemów ani produktów pozostających poza naszą odpowiedzialnością. Dotyczy to między innymi:
    • Systemów operacyjnych i interfejsów użytkownika (Windows, Debian, Plesk itp.).
    • Wszelkiego innego oprogramowania firm trzecich (klienty FTP, programy pocztowe itp.).
    • Usług oferowanych przez innych dostawców (DNS, API, interfejsy użytkownika itp.).

Aby uzyskać odpowiednią pomoc w przypadku problemów, postępuj zgodnie z poniższymi wskazówkami:

  • Szukasz spersonalizowanej porady lub chcesz omówić temat, który nie został szczegółowo opisany w naszej dokumentacji?
    Dołącz do społeczności OVHcloud, aby wyszukać swój temat i skontaktować się z innymi użytkownikami.
  • Musisz zgłosić incydent dotyczący Twojej usługi OVHcloud lub masz trudności w panelu klienta OVHcloud?
    Utwórz zgłoszenie do wsparcia w naszym centrum pomocy.
  • Potrzebujesz profesjonalnej pomocy przy swoim projekcie lub wsparcia w zadaniach wykraczających poza zakres naszego wsparcia?
    Odwiedź nasz portal partnerów, aby znaleźć ekspertów znających rozwiązania OVHcloud.
  • Szukasz bardziej szczegółowych informacji o naszych poziomach wsparcia i usługach Professional Services?
    Odwiedź nasze strony internetowe: poziomy wsparcia OVHcloud oraz OVHcloud Professional Services.

Możesz uczestniczyć w ulepszaniu naszej dokumentacji:

  • Chcesz przekazać opinię, aby ulepszyć stronę przewodnika, lub zgłosić niewystarczające informacje na konkretnej stronie?
    Skorzystaj z przycisków „Czy ta strona była pomocna?” na dole strony, aby nas o tym poinformować.
  • Chcesz zaproponować konkretną aktualizację dokumentacji?
    Skorzystaj z funkcji „Edytuj tę stronę”, dostępnej na dole strony oraz w panelu bocznym.

Requirements

  • A VPS solution or a dedicated server in your
  • Administrative (sudo) access to your server via SSH
  • A domain name (registered with OVHcloud or another registrar)

Instructions

Info

The VPS used for this guide has a Debian distribution in version 11 (Bullseye). For more information, see the official Docker website.

Install Docker

Update the package manager:

sudo apt update

Install the required packages to allow apt to use a repository over HTTPS:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Add the official Docker GPG key:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Add the Docker repository to your system:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bullseye stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Update the apt package index and install Docker Engine and the Docker Compose plugin:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

Verify that Docker is installed and configured:

docker --version

Test Docker with a simple command:

sudo docker run hello-world

If the Docker installation is successful, you will receive a message like this:

WP Docker VPS

Install Docker Compose

The Docker Compose plugin was installed with Docker Engine in the previous step.

Check the Docker Compose installation:

docker compose version

If the Docker Compose installation is successful, you will receive a message like this:

WP Docker VPS

Deploy WordPress with Docker Compose

Create a folder for your WordPress project and navigate to it:

mkdir wordpress-docker && cd wordpress-docker

Create a docker-compose.yml file with your preferred text editor:

nano docker-compose.yml

Copy and paste the following configuration into the docker-compose.yml file:

services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "8000:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
    volumes:
      - wordpress_data:/var/www/html

volumes:
  db_data: {}
  wordpress_data: {}

This Compose file creates a WordPress service and a MySQL service.

Launch the services with Docker Compose:

sudo docker compose up -d

The Docker image used in this example is the official version wordpress:latest. This specific image is designed to work with an Apache web server. The official WordPress images on Docker Hub are regularly updated to include the latest stable PHP versions compatible with the current version of WordPress.

To find out the exact PHP version included in the wordpress:latest image at a specific time, you can run a container based on this image and check the PHP version directly.

Launch a temporary container with the image wordpress:latest:

docker run --rm wordpress:latest php -v

This command gives you an answer like this:

PHP 8.2.16 (cli) (built: Feb 16 2024 21:54:41) (NTS)

As a reminder, Docker images are updated regularly. The version of the components in wordpress:latest can therefore change over time, as new versions are published and integrated into the image.

If you wish, you can use another Docker image.

Use a specific Docker image

Go to the Docker Hub WordPress section and identify the image that fits your needs. For example, if you choose to use the image wordpress:5-php7.4-fpm, you will need to edit your docker-compose.yml file with a text editor. Once the file is open, find the section of the wordpress service and modify the line image: to use the specific tag of the wordpress:5-php7.4-fpm image you have chosen. For example:

services:
  wordpress:
    image: wordpress:5-php7.4-fpm
    container_name: wordpress
...

Apply changes

Launch or update your containers with Docker Compose. If this is your first time launching the project, use:

docker compose up -d

If your containers are already running and you want to apply the changes, use:

docker compose up -d --force-recreate

Check that everything is working as expected. You can check the logs of your WordPress container to ensure that it starts correctly and that there are no errors:

docker logs wordpress

Access WordPress

You can now access WordPress from a browser. There are two ways of doing this:

  • Via the IP address of your VPS: <VPS_IP_ADDRESS>:8000
  • Via your website's domain name: <DOMAIN_NAME>:8000

To access your website from a browser, first link the domain name of your WordPress website to the IP address of your VPS. Go to your .

In the left-hand menu, click Domain names, then select the domain name you have chosen for your WordPress website.

Click the DNS zone tab. In the table, identify the row with the value A, open the actions menu on that row and click Edit the entry.

In the edit form, enter the IP address of your VPS or dedicated server in the Target field, then confirm your changes.

Initialize your WordPress website

When you log in for the first time, your browser must redirect you to <VPS_IP_ADDRESS>:8000/wp-admin/install.php (or <DOMAIN_NAME>:8000/wp-admin/install.php if you use the domain name). This means that WordPress is ready for the initial configuration phase. This page is the starting point for configuring your WordPress website, where you need to define key elements such as:

  • Language
  • The title of your website
  • The username for site administration
  • An associated password
  • An email address
  • etc.

Complete the installation of your WordPress website

Once all the necessary information has been completed and the form has been submitted, WordPress will finalize the installation. You will then be redirected to the login screen (wp-login.php), where you can log in with the username and password you have just created.

WP Docker VPS

Conclusion

You have just installed WordPress on your VPS or OVHcloud dedicated server with a Docker image. You can now access your WordPress website from a browser.

For some general tips on securing a GNU/Linux-based server, see our guides:

Go further

How to install a web development environment on a VPS or a dedicated server

How to install WordPress with WP-CLI on a VPS or a dedicated server

Securing a VPS

Securing a dedicated server

For specialised services (SEO, development, etc.), contact OVHcloud partners.

Join our community of users.

Czy ta strona była pomocna?