101Docker - amagerard/Docker GitHub Wiki
1- Docker | 2- Firewall | 3- Portainer | 4- Drupal | 5- Joomla |
---|---|---|---|---|
6-Wordpress | 7-Xwiki | 8- Mediawiki | ||
Casaos | Zimaos |
Docker is a set of platform as a service (PaaS) products that use OS-level virtualization
to deliver software in packages called containers (Wikipedia].
For a Linux user, this is similar to an advanced chroot.
The VM Docker is a TemplateVM clone.
See the installation of TemplateVM.
Server with GUI is installed (dnf groupinstall "Server with GUI"
).
The status of selinux is permissive
.
vi /etc/crontab
@reboot root setenforce 0
Reboot the server to apply.
This procedure is based on this example.
Docker server ip :192.168.60.55/24
Your username: teacher
Your home directory:/home/teacher
Modify or create the following files.
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.60.55 docker.ol26modk.com docker
vi /etc/hostname
docker
vi /etc/sysconfig/network
# Created by anaconda
networking=yes
HOSTNAME=docker.ol26modk.com
Example:
IP: 192.168.60.55/24
Gateway: 192.168.60.254
Name Server: 192.168.90.41
Search domain: ol26modk.com
nmcli con mod eth0 ipv4.method "manual" ipv4.addresses 192.168.60.55/24
nmcli con mod eth0 ipv4.gateway 192.168.60.254
nmcli con mod eth0 ipv4.dns 192.168.90.41
nmcli con mod eth0 ipv4.dns-search ol26modk.com
To read the configuration of the eth0 network.
more /etc/NetworkManager/system-connections/eth0.nmconnection
Apply the new network configuration.
ifconfig eth0 0.0.0.0
systemctl restart NetworkManager
ip a
or ifconfig
Restart the Docker server.
reboot
The operating system is Red Hat 9.5 Enterprise.
dnf -y install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
dnf update
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl start docker
systemctl enable docker
See the docker version.
docker --version
Docker version 27.3.1, build ce12230
Add your user to the docker group.
usermod -aG docker teacher
id teacher
uid=1000(<username>) gid=1000( teacher) groupes=1000(teacher),980(docker)
Docker gives default permissions on volumes gid 33 for html and gid 999 for mysql.
They are not the same gid for Red Hat.
To date, I have not found a solution.
I need a user and group without logging for permissions on volume.
Create a www-dock
and mysql-dock
user without home and nologin.
By default user UIDs and group GIDs are limited to 999.
vi /etc/login.defs
Modify the lines.
SYS_UID_MAX 2010
SYS_GID_MAX 2010
useradd --shell /usr/sbin/nologin --system --uid 2001 --user-group --no-create-home www-dock
useradd --shell /usr/sbin/nologin --system --uid 2002 --user-group --no-create-home mysql-dock
id www-dock
uid=2001(www-dock) gid=2001(www-dock) groupes=2001(www-dock)
id mysql-dock
uid=2002(mysql-dock) gid=2002(mysql-dock) groupes=2002(mysql-dock)
Each Docker Instance takes 500m disc space on the var
partition.
To expand the 4G disk space to 10G.
lvdisplay /dev/vgl0/var
lvextend -L+6G /dev/vgl0/var
resize2fs /dev/vgl0/var
lvdisplay /dev/vgl0/var