
Contexto
Recientemente comencé a utilizar docker de manera más activa, ésto debido a que necesitaba instalar oracle y realizar algunas pruebas, sin embargo, realizarlo desde una máquina virtual era un proceso un poco lento, por lo que opté por instalar docker y configurarlo para poder acceder desde proyectos desarrollados en laravel, codeigniter o de manera directa, principalmente con PHP y algunos otros proyectos con django.
Por lo que éste primer post, es para mostrar el proceso de instalación de docker y la configuración inicial en fedora 37 y más adelante, publicaré cómo se realiza la instalación de la base de datos de oracle 19.3 en docker y utilizarlo con laravel
1.- Desinstalando algunos paquetes que entran en coflicto
sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
2.- instalación
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Una vez instalado, probar que se haya instalado correctamente con los siguientes comandos:
sudo systemctl start docker
sudo docker run hello-world
Éste comando debe mostrar el siguiente mensaje:
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
Si éste mensaje se muestra, entonces todo se instaló correctamente.
3.- Configurar el archivo service
Es necesario configurar el límite de memoria, para evitar errores, ésto me pasó con fedora 36 y 37, por lo que considero que es necesario realizarlo, y se debe configurar el archivo en cada actualización de docker.
Abrir el archivo /usr/lib/systemd/system/docker.service y buscar la línea que inicie con Exec en la sección de Service para que quede de la siguiente manera:
sudo gnome-text-editor /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --default-ulimit nofile=65536:65536 -H fd:// --containerd=/run/containerd/containerd.sock
4.- Añadir el usuario utilizado al grupo docker
sudo usermod -aG docker $USER
5.- Reiniciar servicios
Una vez aplicado los cambios, se reinician los servicios
sudo systemctl daemon-reload
sudo systemctl restart docker
Adicionalmente se puede instalar Whaler, que es una herramienta gráfica que muestra las imágenes y contenedores instalados:

Aquí concluye la instalación de docker y configuración básica en fedora.