Document --read-only --rootfs requirements
Add entry to troubleshooting to document how to setup a read-only rootfs to use with Podman. Fixes: https://github.com/containers/podman/issues/5895 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
		
							parent
							
								
									e59c3ce1c5
								
							
						
					
					
						commit
						408615b889
					
				| 
						 | 
				
			
			@ -42,7 +42,7 @@ $ podman run -v ~/mycontent:/content:Z fedora touch /content/file
 | 
			
		|||
 | 
			
		||||
Make sure the content is private for the container.  Do not relabel system directories and content.
 | 
			
		||||
Relabeling system content might cause other confined services on your machine to fail.  For these
 | 
			
		||||
types of containers we recommmend that disable SELinux separation.  The option `--security-opt label=disable`
 | 
			
		||||
types of containers we recommend that disable SELinux separation.  The option `--security-opt label=disable`
 | 
			
		||||
will disable SELinux separation for the container.
 | 
			
		||||
 | 
			
		||||
$ podman run --security-opt label=disable -v ~:/home/user fedora touch /home/user/file
 | 
			
		||||
| 
						 | 
				
			
			@ -533,7 +533,7 @@ With the default detach key combo ctrl-p,ctrl-q, shell history navigation
 | 
			
		|||
display this previous command. Or anything else.  Conmon is waiting for an
 | 
			
		||||
additional character to see if the user wants to detach from the container.
 | 
			
		||||
Adding additional characters to the command will cause it to be displayed along
 | 
			
		||||
with the additonal character. If the user types ctrl-p a second time the shell
 | 
			
		||||
with the additional character. If the user types ctrl-p a second time the shell
 | 
			
		||||
display the 2nd to last command.
 | 
			
		||||
 | 
			
		||||
#### Solution
 | 
			
		||||
| 
						 | 
				
			
			@ -546,7 +546,7 @@ podman run -ti --detach-keys ctrl-q,ctrl-q fedora sh
 | 
			
		|||
```
 | 
			
		||||
 | 
			
		||||
To make this change the default for all containers, users can modify the
 | 
			
		||||
containers.conf file. This can be done simply in your homedir, but adding the
 | 
			
		||||
containers.conf file. This can be done simply in your home directory, but adding the
 | 
			
		||||
following lines to users containers.conf
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
| 
						 | 
				
			
			@ -617,3 +617,30 @@ If you encounter a `fuse: device not found` error when running the container ima
 | 
			
		|||
the fuse kernel module has not been loaded on your host system.  Use the command `modprobe fuse` to load the
 | 
			
		||||
module and then run the container image afterwards.  To enable this automatically at boot time, you can add a configuration
 | 
			
		||||
file to `/etc/modules.load.d`.  See `man modules-load.d` for more details.
 | 
			
		||||
 | 
			
		||||
### 25) podman run --rootfs link/to//read/only/dir does not work
 | 
			
		||||
 | 
			
		||||
An error such as "OCI runtime error" on a read-only filesystem or the error "{image} is not an absolute path or is a symlink" are often times indicators for this issue.  For more details, review this [issue](
 | 
			
		||||
https://github.com/containers/podman/issues/5895).
 | 
			
		||||
 | 
			
		||||
#### Symptom
 | 
			
		||||
 | 
			
		||||
Rootless Podman requires certain files to exist in a file system in order to run.
 | 
			
		||||
Podman will create /etc/resolv.conf, /etc/hosts and other file descriptors on the rootfs in order
 | 
			
		||||
to mount volumes on them.
 | 
			
		||||
 | 
			
		||||
#### Solution
 | 
			
		||||
 | 
			
		||||
Run the container once in read/write mode, Podman will generate all of the FDs on the rootfs, and
 | 
			
		||||
from that point forward you can run with a read-only rootfs.
 | 
			
		||||
 | 
			
		||||
$ podman run --rm --rootfs /path/to/rootfs true
 | 
			
		||||
 | 
			
		||||
The command above will create all the missing directories needed to run the container.
 | 
			
		||||
 | 
			
		||||
After that, it can be used in read only mode, by multiple containers at the same time:
 | 
			
		||||
 | 
			
		||||
$ podman run --read-only --rootfs /path/to/rootfs ....
 | 
			
		||||
 | 
			
		||||
Another option would be to create an overlay file system on the directory as a lower and then
 | 
			
		||||
then allow podman to create the files on the upper.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue