Difference between revisions of "How to mount a Network Share in a Linux Container under Proxmox"
Line 1: | Line 1: | ||
This article describes how to mount a Network Share inside a Linux Container (LXC). This is non-trivial because LXC Containers do not have the privileges available to directly mount network locations. The work around involves mounting the network share on the Container Host and then binding the mount folder on the host to a folder in the Container. | This article describes how to mount a Network Share inside a Linux Container (LXC). This is non-trivial because LXC Containers do not have the privileges available to directly mount network locations. The work around involves mounting the network share on the Container Host and then binding the mount folder on the host to a folder in the Container. | ||
− | Note that Unprivileged containers will be able to read from Network Shares. Privileged containers will be able to read from and write to Network Shares. You cannot modify the Privilege of a container once it is made. If can restore a container in either Privileged or Unprivileged mode. Converting a container from Unprivileged to Privileged should be fairly straight forward. The reverse isn't always true because there are files on a Privileged container that cannot exist on an Unprivileged container. This [https://forum.proxmox.com/threads/convert-privileged-to-unprivileged-container.31066/ thread] describes some of these issues. | + | ''Note that Unprivileged containers will only be able to read from Network Shares.'' Privileged containers will be able to read from and write to Network Shares. You cannot modify the Privilege of a container once it is made. If can restore a container in either Privileged or Unprivileged mode. Converting a container from Unprivileged to Privileged should be fairly straight forward. The reverse isn't always true because there are files on a Privileged container that cannot exist on an Unprivileged container. This [https://forum.proxmox.com/threads/convert-privileged-to-unprivileged-container.31066/ thread] describes some of these issues. |
Revision as of 07:57, 3 October 2019
This article describes how to mount a Network Share inside a Linux Container (LXC). This is non-trivial because LXC Containers do not have the privileges available to directly mount network locations. The work around involves mounting the network share on the Container Host and then binding the mount folder on the host to a folder in the Container.
Note that Unprivileged containers will only be able to read from Network Shares. Privileged containers will be able to read from and write to Network Shares. You cannot modify the Privilege of a container once it is made. If can restore a container in either Privileged or Unprivileged mode. Converting a container from Unprivileged to Privileged should be fairly straight forward. The reverse isn't always true because there are files on a Privileged container that cannot exist on an Unprivileged container. This thread describes some of these issues.
- Log into your Container as root
- Create the a mount point directory with
mkdir /mnt/extfolder
- Log out of the container and stop the container
- Create the a mount point directory with
- Log into your Host Machine as root
- if necessary, create a credentials file with the username and password for your network share. Then secure the file
nano /root/.credentials/my-credentials
- add the following lines
username=theusername password=thepassword workgroup=theworkgroup
- Exit nano and save your changes by hitting Ctrl-X and then Y
- add the following lines
- run
chmod 600 /root/.credentials/my-credentials
- create the target mount folder by running
mkdir /mnt/netfolder
- Add a line to your fstab file to mount the network share by running
nano /etc/fstab
and adding the following line to the bottom//net/path/to/netfolder /mnt/netfolder cifs user,credentials=/root/.credentials/my-credentials,iocharset=utf8,noperm 0 0
- Reload the fstab file by running
mount -a
Now you should be able to see your network share's content at /mnt/netfolder - Bind the host directory to the container directory in the container config by running
nano /etc/pve/nodes/hostname/lxc/mycontainer.conf
and adding the following line after memory and before net0mp0: /mnt/netfolder,mp=/mnt/extfolder
- if necessary, create a credentials file with the username and password for your network share. Then secure the file
- Restart the client and the network share should be accessible at /mnt/extfolder