added Podman
This commit is contained in:
@@ -14,6 +14,7 @@
|
|||||||
3. Tools
|
3. Tools
|
||||||
- [Distrobox](Tools/Distrobox.md)
|
- [Distrobox](Tools/Distrobox.md)
|
||||||
- [Flatpak](Tools/Flatpak.md)
|
- [Flatpak](Tools/Flatpak.md)
|
||||||
|
- [Podman](Tools/Podman.md)
|
||||||
- [Wine](Tools/Wine.md)
|
- [Wine](Tools/Wine.md)
|
||||||
|
|
||||||
## Preamble
|
## Preamble
|
||||||
|
|||||||
76
Tools/Podman.md
Normal file
76
Tools/Podman.md
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
# Podman
|
||||||
|
Podman is a container system very similar to docker that lets you run programs in an isolated and self-contained environment. A number of programs, usually those with Web Interfaces can be run with podman.
|
||||||
|
|
||||||
|
Podman is built to be a drop-in replacement for Docker, so if you see something that can be run with docker, you can usually just replace "docker" with "podman" and it will work.
|
||||||
|
|
||||||
|
Podman has 2 main advantages over Docker:
|
||||||
|
1. Due to licensing podman is easier to install on Linux, since it is just packaged as normal software.
|
||||||
|
2. Podman is setup to run without root permissions by default, which generally makes it more secure, and means a user does not need root permissions on their system to use it.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
Podman can be installed by the package manager on your system:
|
||||||
|
|
||||||
|
### Arch-Based:
|
||||||
|
Select `crun` if asked
|
||||||
|
```sh
|
||||||
|
sudo pacman -S podman
|
||||||
|
```
|
||||||
|
|
||||||
|
### Debian/Mint/Ubuntu
|
||||||
|
```sh
|
||||||
|
sudo apt install podman
|
||||||
|
```
|
||||||
|
|
||||||
|
### Fedora
|
||||||
|
```sh
|
||||||
|
sudo dnf install podman
|
||||||
|
```
|
||||||
|
|
||||||
|
## Run a container
|
||||||
|
A container is simply run with the `podman run` command.
|
||||||
|
|
||||||
|
For example, to run the simple debian container from the Docker Hub (https://hub.docker.com/_/debian), you would run the following:
|
||||||
|
```sh
|
||||||
|
podman run docker.io/library/debian:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
You man want to expose ports from inside the container onto your computer (so the port can be accessed from outside the container), for example if there is a webserver running in that container you could expose port 80 to port 80 on your computer by adding `-p 80:80` like so:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
podman run -p 80:80 docker.io/library/debian:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
### DockerFile
|
||||||
|
|
||||||
|
More commonly projects will provide a DockerFile, which you can just download, when in the directory with that file just run `podman run` and it will use the information from that file.
|
||||||
|
|
||||||
|
### Compose
|
||||||
|
You may also see compose files provided for docker projects, for that you will probably need to install the separate `podman-compose` package, and then `podman-compose` can just be used in place of `docker compose` or `docker-compose`.
|
||||||
|
|
||||||
|
For example, being in a directory with a compose file, you can run `podman-compose up` to start the program.
|
||||||
|
|
||||||
|
## Manage Containers
|
||||||
|
### View running containers
|
||||||
|
You can see all running podman containers with
|
||||||
|
```sh
|
||||||
|
podman ps
|
||||||
|
```
|
||||||
|
|
||||||
|
You can additionally view all containers (including stopped) with
|
||||||
|
```sh
|
||||||
|
podman ps -a
|
||||||
|
```
|
||||||
|
|
||||||
|
### Stop a container
|
||||||
|
After running `podman ps` you can see a container's id, and you can use that id to control it.
|
||||||
|
|
||||||
|
For example you can stop it with
|
||||||
|
```sh
|
||||||
|
podman stop <id>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Delete a container
|
||||||
|
You can also delete a stopped container with
|
||||||
|
```sh
|
||||||
|
podman rm <id>
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user