Compare commits

..

13 Commits

Author SHA1 Message Date
ganome
714f8f2362
Small typo error - and testing new nvim 2025-01-22 10:35:31 -07:00
Ganome
55f29d96ca
Merge pull request #33 from SCAR-iT-COLO/23-sanitize-chapter-10
Cleaned up code blocks
2024-11-13 12:14:36 -07:00
ganome
1b8e2eb5b9
Cleaned up code blocks 2024-11-13 12:13:22 -07:00
Ganome
eb9228c564
Merge pull request #32 from SCAR-iT-COLO/22-sanitize-chapter-9
Removed some hyperlinks and cleaned up a few codeblocks
2024-11-13 11:59:58 -07:00
ganome
ecced9e5bb
Removed some hyperlinks and cleaned up a few codeblocks 2024-11-13 11:58:46 -07:00
Ganome
57d07f1f13
Merge pull request #31 from SCAR-iT-COLO/20-sanitize-chapter-8
20 sanitize chapter 8
2024-11-12 10:14:16 -07:00
ganome
ba75965206
fixed most of chapter 8 - still needs some polish 2024-11-12 10:12:26 -07:00
ganome
dc581e66da
removed package management hyperlinks 2024-11-12 09:55:06 -07:00
ganome
e6be20afa9
Moved RHEL / CentOS stuff to seperate folder - focusing on Linxu Mint 2024-09-19 21:05:12 -06:00
Ganome
9828da0ee7
Merge pull request #30 from SCAR-iT-COLO/dev
Fixed code of conduct link (NP)
2024-09-07 10:24:45 -06:00
Ganome
65a620b912
Merge pull request #18 from NatePick/main
Fixed the link to the code of conduct
2024-09-07 10:23:01 -06:00
NatePick
82c0dcbbc1 Merge branch 'main' of https://github.com/NatePick/LWM-Linux 2024-09-06 22:54:03 -05:00
NatePick
e6f87ebb4d Fixed the link to the code of conduct 2024-09-06 22:53:53 -05:00
17 changed files with 118 additions and 350 deletions

View File

@ -1,27 +0,0 @@
## In **Linux Mint**, package management is essential for installing, updating, and managing software. Let's explore some key tools and concepts:
1. **APT (Advanced Packaging Tool)**:
- APT is the primary package manager for Debian-based systems, including Linux Mint.
- It handles software installation, removal, querying, and upgrades.
- Common APT commands:
- `sudo apt update`: Refreshes package lists from repositories.
- `sudo apt install package-name`: Installs a package.
- `sudo apt remove package-name`: Removes a package.
- `sudo apt upgrade`: Upgrades installed packages.
- `sudo apt search keyword`: Searches for packages.
- APT uses `.deb` packages and works alongside `dpkg`, which installs individual `.deb` files.
2. **Synaptic Package Manager**:
- Synaptic is an advanced graphical package management tool.
- To install Synaptic:
```
sudo apt install synaptic
```
- Launch it from the Applications menu or by typing `synaptic` in the terminal.
Remember, APT and Synaptic empower you to manage software efficiently in Linux Mint! 😊🚀 ²³
Source: Conversation with Copilot, 7/12/2024
- [(1) How to Install and Update Apps on Linux Mint - UMA Technology.](https://umatechnology.org/how-to-install-and-update-apps-on-linux-mint/.)
- [(2) How to Use APT Command in Linux [15 Useful Examples] - UbuntuMint.](https://www.ubuntumint.com/apt-commands/.)
- [(3) Package Management Essentials: apt, yum, dnf, pkg.](https://www.digitalocean.com/community/tutorials/package-management-basics-apt-yum-dnf-pkg.)

View File

@ -50,7 +50,7 @@ Linux follows a standardized directory structure:
- /etc: System configuration files
- /var: Variable data (logs, temporary files)
- /boot: Boot loader files
- /mnt and /media: Mount points for removable devices
- /mnt and /run/media: Mount points for removable devices
## 5. Common Disk Management Tools
@ -60,8 +60,8 @@ Linux provides several tools for disk management:
- fdisk: Partition table manipulator
- parted: Versatile partition tool
- lsblk: List block devices
- df: Report file system disk space usage
- du: Estimate file space usage
- df: Report "disk free" in bytes. add "-h" option for human readable
- du: Estimate file space usage for current directory. Add "-h" option for human readable file sizes.
### b. Graphical tools:
- GParted: GNOME Partition Editor
@ -72,6 +72,8 @@ Linux provides several tools for disk management:
### a. Viewing disk information:
```
lsblk
```
```
fdisk -l
```
@ -79,7 +81,7 @@ fdisk -l
```
sudo fdisk /dev/sdX
```
(Replace X with the appropriate letter)
(Replace X with the appropriate letter). Follow prompts inside fdisk to create new blank partition.
### c. Formatting a partition:
```
@ -109,7 +111,7 @@ LVM allows for more flexible disk management, including:
- Creating snapshots
### c. RAID (Redundant Array of Independent Disks):
Linux supports software RAID for improved performance and data redundancy.
Linux supports software RAID for improved performance and data redundancy in hardware and software formats.
### d. Encrypting partitions:
Use LUKS (Linux Unified Key Setup) for full-disk encryption.
@ -127,10 +129,3 @@ d. Monitor disk health: Use tools like smartctl to check for potential drive fai
e. Keep your system updated: Regular updates can improve disk management tools and fix bugs.
f. Be cautious with root privileges: Disk management often requires root access, so be careful to avoid accidental data loss.
- [(1) How to Install GParted on Linux Mint 21 - Linux Genie.](https://linuxgenie.net/how-to-install-gparted-on-linux-mint-21/.)
- [(2) Linux Mint View & Manage System Partitions: A Comprehensive Guide.](https://bytebitebit.com/tips-tricks/linux-mint-view-manage-system-partitions/.)
- [(3) Linux Mint View Manage System Partitions: A Comprehensive Guide.](https://www.positioniseverything.net/linux-mint-view-manage-system-partitions/.)
- [(4) Mastering Linux Disk Management: LVM and Disk Partitioning.](https://www.linuxjournal.com/content/mastering-linux-disk-management-lvm-and-disk-partitioning.)
- [(5) How to Use Fdisk to Manage Partitions on Linux - How-To Geek.](https://www.howtogeek.com/106873/how-to-use-fdisk-to-manage-partitions-on-linux/.)

View File

@ -1,39 +0,0 @@
## Let's discuss **NTFS (New Technology File System)** and how to work with it in **Linux Mint**.
1. **Mounting NTFS Partitions**:
- NTFS is the default file system for Windows systems, but we can also mount NTFS partitions in Linux to read and write data.
- To mount an NTFS partition, follow these steps:
- First, create a mount point using the `mkdir` command:
```
sudo mkdir /mnt/ntfs
```
- Next, use the `mount` command to mount the partition you want (e.g., `/dev/sdb2`):
```
sudo mount -t ntfs-3g /dev/sdb2 /mnt/ntfs
```
- To check if the partition is mounted, run:
```
df -hT
```
- Now you have read/write permissions for the NTFS partition you mounted¹².
2. **Changing File Permissions on NTFS Partitions**:
- To apply Linux-compatible file permissions to an NTFS drive, modify the `/etc/fstab` file.
- Add the following line to `/etc/fstab`:
```
/dev/sdb /mnt/ntfs ntfs uid=1000,gid=1000,dmask=022,fmask=133 0 0
```
This line specifies that the `/dev/sdb` partition should be mounted as NTFS in the `/mnt/ntfs` directory.
- Remount the partition or reboot for the changes to take effect².
Feel free to explore further or ask if you need additional assistance! 😊🚀
Source: Conversation with Copilot, 7/12/2024
- [(1) How to Mount NTFS Partition in Linux - phoenixNAP.](https://phoenixnap.com/kb/mount-ntfs-linux.)
- [(2) Changing File Permissions on NTFS Partitions in Linux.](https://linuxconfig.org/changing-file-permissions-on-ntfs-partitions-in-linux.)
- [(3) How to Mount and Access Windows NTFS Drives in Linux - MUO.](https://www.makeuseof.com/mount-ntfs-windows-drives-in-linux/.)
- [(4) How to Mount an NTFS Partition - Linux Nightly.](https://linuxnightly.com/mount-ntfs-partition/.)
- [(5) Linux mount ntfs or Access NTFS partition from Linux - nixCraft.](https://www.cyberciti.biz/faq/linux-mount-ntfs-or-access-ntfs-partition-from-linux/.)
- [(6) How to mount NTFS partitions using Linux commands.](https://www.computerworld.com/article/1637061/how-to-mount-ntfs-partitions-using-linux-commands.html.)
- [(7) NTFS Disk mounting in mint - Unix & Linux Stack Exchange.](https://unix.stackexchange.com/questions/358229/ntfs-disk-mounting-in-mint.)
- [(8) How to Mount NFS in Linux: A Step-by-Step Guide - Byte Bite Bit.](https://bytebitebit.com/operating-system/linux/how-to-mount-nfs-in-linux/.)

View File

@ -143,11 +143,3 @@ This setup provides the redundancy of RAID 5 with the flexibility of LVM.
- Display PV info: `sudo pvdisplay`
- Display VG info: `sudo vgdisplay`
- Display LV info: `sudo lvdisplay`
Remember, LVM provides flexibility, scalability, and ease of maintenance, while RAID enhances performance and data protection! 😊🚀
Source: Conversation with Copilot, 7/12/2024
- [(1) Complete Beginner's Guide to LVM in Linux [With Hands-on].](https://linuxhandbook.com/lvm-guide/.)
- [(2) Linux Storage Management: LVM and RAID.](https://linuxhall.org/linux-storage-management-lvm-and-raid/.)
- [(3) raid - RAIDing with LVM vs MDRAID - Unix & Linux Stack Exchange.](https://unix.stackexchange.com/questions/150644/raiding-with-lvm-vs-mdraid-pros-and-cons.)
- [(4) What is better LVM on RAID or RAID on LVM? - Server Fault.](https://serverfault.com/questions/217666/what-is-better-lvm-on-raid-or-raid-on-lvm.)

View File

@ -7,129 +7,94 @@ journalctl is a command-line utility for querying and displaying logs from the s
## 2. Basic Usage
### To view all logs:
```
journalctl
```
`journalctl`
### To follow new log entries in real-time:
```
journalctl -f
```
`journalctl -f`
## 3. Filtering Logs
### By time:
```
journalctl --since "2024-01-01 00:00:00"
journalctl --until "2024-01-31 23:59:59"
journalctl --since "1 hour ago"
```
`journalctl --since "2024-01-01 00:00:00"`
`journalctl --until "2024-01-31 23:59:59"`
`journalctl --since "1 hour ago"`
### By service unit:
```
journalctl -u nginx.service
journalctl -u ssh.service
```
`journalctl -u nginx.service`
`journalctl -u ssh.service`
### By priority level:
```
journalctl -p err
```
`journalctl -p err`
Priority levels: emerg, alert, crit, err, warning, notice, info, debug
### By kernel messages:
```
journalctl -k
```
`journalctl -k`
## 4. Output Formatting
### JSON output:
```
journalctl -o json
```
`journalctl -o json`
### Short output format:
```
journalctl -o short
```
`journalctl -o short`
### Verbose output:
```
journalctl -o verbose
```
`journalctl -o verbose`
## 5. Boot-specific Logs
### Current boot:
```
journalctl -b
```
`journalctl -b`
### Previous boot:
```
journalctl -b -1
```
`journalctl -b -1`
## 6. User-specific Logs
```
journalctl _UID=1000
```
`journalctl _UID=1000`
## 7. Disk Usage and Log Rotation
### View disk usage:
```
journalctl --disk-usage
```
`journalctl --disk-usage`
### Rotate logs:
```
journalctl --rotate
```
`journalctl --rotate`
### Vacuum old logs:
```
journalctl --vacuum-time=1week
journalctl --vacuum-size=1G
```
`journalctl --vacuum-time=1week`
`journalctl --vacuum-size=1G`
## 8. Remote Journal Access
To access logs on a remote system:
```
journalctl -D /path/to/journal/directory
```
`journalctl -D /path/to/journal/directory`
## 9. Persistent Journal Storage
### Edit /etc/systemd/journald.conf:
```
Storage=persistent
```
`Storage=persistent`
### Restart journald:
```
sudo systemctl restart systemd-journald
```
`sudo systemctl restart systemd-journald`
## 10. Forwarding Logs to a Central Server
### Install rsyslog:
```
sudo apt install rsyslog
```
`sudo apt install rsyslog`
### Configure /etc/rsyslog.conf for forwarding:
```
*.* @@central-log-server:514
```
`*.* @@central-log-server:514`
### Restart rsyslog:
```
sudo systemctl restart rsyslog
```
`sudo systemctl restart rsyslog`
## 11. Security Considerations

View File

@ -36,12 +36,3 @@
- Regularly back up important files to an external location.
- Use tools like **rsync**, **Deja Dup**, or cloud storage services¹.
Remember, a combination of these practices helps maintain a secure Linux Mint environment. Feel free to explore further or ask if you need additional guidance! 😊🔒🚀
Source: Conversation with Copilot, 7/12/2024
- [(1) 10 practical tips for securing your Linux Mint system - FOSS Linux.](https://www.fosslinux.com/103872/secure-your-linux-mint-system.htm.)
- [(2) How to reset a forgotten password for any user under Linux Mint 21 ....](https://www.thinkpenguin.com/gnu-linux/how-reset-forgotten-password-any-user-under-linux-mint-21.)
- [(3) Linux Mint 20 [Essential Security Guide: Tools & Tweaks].](https://www.securitybind.com/secure-linux-mint/.)
- [(4) How to Configure Linux Mint Login Window: A Step-by-Step Guide.](https://bytebitebit.com/tips-tricks/how-to-configure-linux-mint-login-window/.)
- [(5) Changes to password policies The Linux Mint Blog.](https://blog.linuxmint.com/?p=3013.)
- [(6) en.wikipedia.org.](https://en.wikipedia.org/wiki/Linux_Mint.)

View File

@ -17,18 +17,14 @@ Key features:
On most Linux distributions, eCryptfs can be installed using the package manager:
```bash
# For Ubuntu/Debian:
sudo apt-get install ecryptfs-utils
```
```bash
# For Fedora:
sudo dnf install ecryptfs-utils
```
```bash
# For Arch Linux:
sudo pacman -S ecryptfs-utils
```
For Ubuntu/Debian:
`sudo apt-get install ecryptfs-utils`
For Fedora:
`sudo dnf install ecryptfs-utils`
For Arch Linux:
`sudo pacman -S ecryptfs-utils`
## 3. Setting up eCryptfs
@ -66,15 +62,11 @@ mount -t ecryptfs ~/encrypted ~/encrypted
### - Unmounting:
```bash
umount ~/encrypted
```
`umount ~/encrypted`
### - Checking mount status:
```bash
mount | grep ecryptfs
```
`mount | grep ecryptfs`
## 5. Key Management
@ -82,15 +74,11 @@ eCryptfs uses a passphrase to derive the encryption key. This passphrase is stor
### - Adding a key to the keyring:
```bash
ecryptfs-add-passphrase
```
`ecryptfs-add-passphrase`
### - Removing a key from the keyring:
```bash
keyctl purge user ecryptfs
```
`keyctl purge user ecryptfs`
## 6. Advanced Features
@ -98,15 +86,11 @@ keyctl purge user ecryptfs
Create a file containing your mount options:
```bash
echo "passphrase_passwd=your_passphrase" > ~/.ecryptfsrc
```
`echo "passphrase_passwd=your_passphrase" > ~/.ecryptfsrc`
Then mount using:
```bash
mount -t ecryptfs -o conf=~/.ecryptfsrc ~/encrypted ~/encrypted
```
`mount -t ecryptfs -o conf=~/.ecryptfsrc ~/encrypted ~/encrypted`
### - Using different encryption for different directories:
@ -125,15 +109,11 @@ You can mount multiple eCryptfs directories with different encryption settings b
If you can't mount the filesystem, check if the required kernel modules are loaded:
```bash
lsmod | grep ecryptfs
```
`lsmod | grep ecryptfs`
If not present, load them:
```bash
sudo modprobe ecryptfs
```
`sudo modprobe ecryptfs`
## !!!If you forget your passphrase, there's no way to recover the data. Always keep secure backups!!!

View File

@ -16,36 +16,28 @@ OpenSSL is a robust, full-featured open-source toolkit that implements the Secur
OpenSSL is available for various operating systems. Here are basic installation instructions:
- Linux: Most distributions come with OpenSSL pre-installed. If not, use package managers:
```bash
sudo apt-get install openssl libssl-dev # For Debian/Ubuntu
```
```bash
sudo yum install openssl openssl-devel # For CentOS/RHEL
```
`sudo apt-get install openssl libssl-dev # For Debian/Ubuntu`
`sudo yum install openssl openssl-devel # For CentOS/RHEL`
- macOS: Use Homebrew:
```
brew install openssl
```
`brew install openssl`
- Windows: Download the installer from the official OpenSSL website.
## 4. Basic OpenSSL Commands
- Generate a private key:
```bash
openssl genrsa -out private.key 2048
```
`openssl genrsa -out private.key 2048`
- Create a Certificate Signing Request (CSR):
```bash
openssl req -new -key private.key -out certificate.csr
```
`openssl req -new -key private.key -out certificate.csr`
- Generate a self-signed certificate:
```bash
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
```
`openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365`
## 5. Implementing SSL/TLS in Network Applications

View File

@ -11,10 +11,7 @@ Fail2Ban is an intrusion prevention software framework that protects Linux syste
- Updates firewall rules to block banned IPs
### Installation:
```bash
sudo apt-get update
sudo apt-get install fail2ban
```
`sudo apt-get update && sudo apt-get install fail2ban`
### Configuration:
- Main configuration file: `/etc/fail2ban/jail.conf`
@ -56,10 +53,7 @@ AIDE is a file and directory integrity checker that detects unauthorized changes
- Reports any discrepancies, indicating potential security breaches
### Installation:
```bash
sudo apt-get update
sudo apt-get install aide
```
`sudo apt-get update && sudo apt-get install aide`
### Configuration:
- Main configuration file: /etc/aide/aide.conf

View File

@ -18,17 +18,13 @@ SELinux operates in three modes:
- Disabled: SELinux is turned off
To check the current mode:
```
getenforce
```
`getenforce`
To change modes temporarily:
```bash
setenforce 0 # Set to permissive
```
```bash
setenforce 1 # Set to enforcing
```
`setenforce 0` # Set to permissive
`setenforce 1` # Set to enforcing
To change modes permanently, edit /etc/selinux/config and reboot.
@ -43,10 +39,11 @@ system_u:object_r:httpd_sys_content_t:s0
```
To view contexts:
```
ls -Z # For files
ps auxZ # For processes
```
`ls -Z` # For files
`ps auxZ` # For processes
## 4. SELinux Policies
@ -59,84 +56,56 @@ SELinux uses policies to define allowed actions. Two main policy types:
Booleans are on/off switches that allow runtime customization of SELinux policies.
To list all booleans:
```
getsebool -a
```
`getsebool -a`
To change a boolean:
```bash
setsebool httpd_can_network_connect on
```
`setsebool httpd_can_network_connect on`
To make the change persistent:
```bash
setsebool -P httpd_can_network_connect on
```
`setsebool -P httpd_can_network_connect on`
## 6. Troubleshooting SELinux
- Check for denials:
```
ausearch -m AVC,USER_AVC,SELINUX_ERR -ts recent
```
`ausearch -m AVC,USER_AVC,SELINUX_ERR -ts recent`
- Use SELinux troubleshooter:
```
sealert -a /var/log/audit/audit.log
```
`sealert -a /var/log/audit/audit.log`
- Analyze SELinux logs:
```
grep "SELinux" /var/log/messages
```
`grep "SELinux" /var/log/messages`
## 7. File and Directory Labeling
To change the SELinux context of a file or directory:
```
chcon -t httpd_sys_content_t /path/to/file
```
`chcon -t httpd_sys_content_t /path/to/file`
To restore the default context:
```
restorecon -v /path/to/file
```
`restorecon -v /path/to/file`
## 8. Managing SELinux Modules
List available modules:
```
semodule -l
```
`semodule -l`
Enable a module:
```
semodule -e modulename
```
`semodule -e modulename`
Disable a module:
```
semodule -d modulename
```
`semodule -d modulename`
## 9. Creating Custom SELinux Policies
For complex environments, you may need to create custom policies:
- Install policy development tools:
```
yum install selinux-policy-devel
```
`yum install selinux-policy-devel`
- Write a policy module (.te file)
- Compile and package the module:
```
make -f /usr/share/selinux/devel/Makefile
```
`make -f /usr/share/selinux/devel/Makefile`
- Install the module:
```
semodule -i mymodule.pp
```
`semodule -i mymodule.pp`
## 10. SELinux and Containers
@ -145,9 +114,7 @@ SELinux provides strong isolation for containers:
- Prevents container processes from accessing host resources
To run a container with a specific SELinux context:
```
docker run --security-opt label=type:svirt_lxc_net_t my_image
```
`docker run --security-opt label=type:svirt_lxc_net_t my_image`
## 11. Best Practices

View File

@ -113,34 +113,22 @@ Basic steps:
1. Install kubectl (Kubernetes command-line tool)
2. Set up a Kubernetes cluster (e.g., using Minikube for local development)
3. Deploy an application:
```
kubectl create deployment my-app --image=my-app-image
```
`kubectl create deployment my-app --image=my-app-image`
4. Expose the deployment:
```
kubectl expose deployment my-app --type=LoadBalancer --port=8080
```
`kubectl expose deployment my-app --type=LoadBalancer --port=8080`
5. Scale the deployment:
```
kubectl scale deployment my-app --replicas=3
```
`kubectl scale deployment my-app --replicas=3`
## 6. Setting Up and Using Docker Swarm
Basic steps:
1. Initialize a swarm:
```
docker swarm init
```
`docker swarm init`
2. Join worker nodes to the swarm
3. Deploy a service:
```
docker service create --name my-service my-image
```
`docker service create --name my-service my-image`
4. Scale the service:
```
docker service scale my-service=3
```
`docker service scale my-service=3`
## 7. Best Practices for Container Orchestration

View File

@ -30,9 +30,7 @@ c) QEMU for hardware emulation.
On most Linux distributions, you can install KVM using the package manager:
```bash
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
```
`sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils`
## 6. Creating and Managing VMs

View File

@ -13,17 +13,12 @@ LXC uses Linux kernel features such as cgroups, namespaces, and chroot to create
## 3. Installation
To install LXC on most Linux distributions:
```
sudo apt-get update
sudo apt-get install lxc lxc-templates
```
`sudo apt-get update && sudo apt-get install lxc lxc-templates`
## 4. Creating containers
To create a new container:
```
sudo lxc-create -n mycontainer -t download -- -d ubuntu -r focal -a amd64
```
`sudo lxc-create -n mycontainer -t download -- -d ubuntu -r focal -a amd64`
This creates a container named "mycontainer" using the Ubuntu Focal (20.04) template for amd64 architecture.

View File

@ -37,40 +37,28 @@ CMD ["python", "app.py"]
To build an image from a Dockerfile:
```
docker build -t myapp:v1 .
```
`docker build -t myapp:v1 .`
This command builds an image named "myapp" with the tag "v1" using the Dockerfile in the current directory.
## 4. Managing Docker Images
List images:
```
docker images
```
`docker images`
Remove an image:
```
docker rmi myapp:v1
```
`docker rmi myapp:v1`
Tag an image:
```
docker tag myapp:v1 myapp:latest
```
`docker tag myapp:v1 myapp:latest`
## 5. Pushing and Pulling Images
Push an image to a registry:
```
docker push username/myapp:v1
```
`docker push username/myapp:v1`
Pull an image from a registry:
```
docker pull username/myapp:v1
```
`docker pull username/myapp:v1`
## 6. Multi-stage Builds
@ -101,14 +89,10 @@ CMD ["myapp"]
## 8. Docker Image Inspection
Inspect image details:
```
docker inspect myapp:v1
```
`docker inspect myapp:v1`
View image history:
```
docker history myapp:v1
```
`docker history myapp:v1`
## 9. Optimizing Docker Images
@ -125,17 +109,13 @@ docker history myapp:v1
- Azure Container Registry (ACR)
To use a private registry, log in first:
```
docker login myregistry.azurecr.io
```
`docker login myregistry.azurecr.io`
## 11. Image Scanning and Security
Use tools like Docker Scan, Clair, or Trivy to scan images for vulnerabilities:
```
docker scan myapp:v1
```
`docker scan myapp:v1`
## 12. Docker Image Versioning
@ -150,9 +130,6 @@ Always tag your images with a specific version and avoid using only the "latest"
Use tools like Hadolint to check your Dockerfile for best practices and potential issues:
```
hadolint Dockerfile
```
`hadolint Dockerfile`
This guide covers the essentials of working with Dockerfiles and images. As you become more comfortable with these concepts, you can explore advanced topics like Docker Compose for multi-container applications and Docker Swarm or Kubernetes for container orchestration.

View File

@ -68,7 +68,7 @@ members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant Home](hhttps://www.contributor-covenant.org/), version 1.4,
This Code of Conduct is adapted from the [Contributor Covenant Home](https://www.contributor-covenant.org/), version 1.4,
available at [Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)
For answers to common questions about this code of conduct, see