Unbale to mount syslog-ng.conf to /etc/syslog-ng using docker image
Hi This is my first trial of syslog-ng. I've tried to start syslog-ng just like described on the official bolg page https://syslog-ng.com/blog/ central-log-server-docker/ https://syslog-ng.com/blog/collecting-docker- infrastructure-logs-using-syslog-ng/ I am starting docker container as: docker run -it -v "$PWD"/syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest But unfortunately it is failing to mount my custom (local) configuration file from source to host, complaining about mounting a directory onto file Error: docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\"/home/smb/code/conf/syslog-ng.conf\\" to rootfs \\"/var/lib/docker/ devicemapper/mnt/52d32f854a030b396b03e7596ab5d7 1eb1a18f34a09d5e4997c437568749b259/rootfs\\" at \\"/var/lib/docker/ devicemapper/mnt/52d32f854a030b396b03e7596ab5d7 1eb1a18f34a09d5e4997c437568749b259/rootfs/etc/syslog-ng/syslog-ng.conf\\" caused \\"not a directory\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type. Am I missing something? Please let me know Many Thanks Mujeeb
Hi Mujeeb, Maybe the problem is with the config file path: "/home/smb/code/conf/syslog-ng.conf" Could you check that path is correct? Regards Andrew On Fri, May 25, 2018 at 1:13 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
Hi
This is my first trial of syslog-ng. I've tried to start syslog-ng just like described on the official bolg page https://syslog-ng.com/blog/cen tral-log-server-docker/ https://syslog-ng.com/blog/col lecting-docker-infrastructure-logs-using-syslog-ng/
I am starting docker container as:
docker run -it -v "$PWD"/syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest
But unfortunately it is failing to mount my custom (local) configuration file from source to host, complaining about mounting a directory onto file
Error:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\"/home/smb/code/conf/syslog-ng.conf\\" to rootfs \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e759 6ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs\\" at \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e759 6ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs/etc/syslog-ng/syslog-ng.conf\\" caused \\"not a directory\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
Am I missing something?
Please let me know
Many Thanks
Mujeeb
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/? product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
Hi Andrew, Thanks for your response. Yes the path is correct When I execute with host location as /1234 it creates the container, but nothing inside /1234 folder root@hdata3:/home/smb/code/conf# docker run -it -v "$PWD"/syslog-ng.conf:/1234 --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest syslog-ng: Error setting capabilities, capability management disabled; error='Operation not permitted' [2018-05-25T14:12:15.695588] WARNING: Configuration file format is too old, syslog-ng is running in compatibility mode. Please update it to use the syslog-ng 3.14 format at your time of convenience. To upgrade the configuration, please review the warnings about incompatible changes printed by syslog-ng, and once completed change the @version header at the top of the configuration file.; I can see inside the container that /etc/syslog-ng/ this folder is not updated root@hdata3:/home/smb# docker exec -ti syslog-ng /bin/bash root@d634d32aee4c:/# root@d634d32aee4c:/# ls -l /1234/ total 0 root@d634d32aee4c:/# root@d634d32aee4c:/# ls -l /sy/etcslog-ng/ conf.d/ patterndb.d/ scl.conf syslog-ng.conf root@d634d32aee4c:/# ls -lrt /etc/syslog-ng/ total 12 -rw-r--r--. 1 root root 5910 Feb 23 13:17 syslog-ng.conf drwxr-xr-x. 2 root root 6 Mar 2 12:58 conf.d drwxr-xr-x. 2 root root 6 Mar 2 12:58 patterndb.d -rw-r--r--. 1 root root 1336 Mar 2 12:58 scl.conf root@d634d32aee4c:/# On 25 May 2018 at 13:31, Mitzki, András <andras.mitzki@balabit.com> wrote:
Hi Mujeeb,
Maybe the problem is with the config file path: "/home/smb/code/conf/syslog-ng.conf" Could you check that path is correct?
Regards Andrew
On Fri, May 25, 2018 at 1:13 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
Hi
This is my first trial of syslog-ng. I've tried to start syslog-ng just like described on the official bolg page https://syslog-ng.com/blog/cen tral-log-server-docker/ https://syslog-ng.com/blog/col lecting-docker-infrastructure-logs-using-syslog-ng/
I am starting docker container as:
docker run -it -v "$PWD"/syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest
But unfortunately it is failing to mount my custom (local) configuration file from source to host, complaining about mounting a directory onto file
Error:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\"/home/smb/code/conf/syslog-ng.conf\\" to rootfs \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e759 6ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs\\" at \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e759 6ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs/etc/syslog-ng/syslog-ng.conf\\" caused \\"not a directory\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
Am I missing something?
Please let me know
Many Thanks
Mujeeb
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product= syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/? product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
Hello, From the Docker documentation: https://docs.docker.com/v17.09/engine/admin/volumes/bind-mounts/#differences... If you use -v or --volume to bind-mount a file or directory that does not
yet exist on the Docker host, -v will create the endpoint for you. *It is always created as a directory.*If you use --mount to bind-mount a file or directory that does not yet exist on the Docker host, Docker does *not* automatically create it for you, but generates an error.
It looks like docker daemon still can not find your file *"$PWD"/syslog-ng.conf* and creates a directory instead. Instead of heavy debugging, I suggest to run *docker inspect syslog-ng* to see what path was actually mounted by the docker daemon. You should see something like this in the output: "Mounts": [
{ "Type": "bind", "Source": "XXX/syslog-ng.conf", "Destination": "/1234", "Mode": "", "RW": true, "Propagation": "rprivate" }
Once we have the actual mounted path, it will be easier to figure out why the docker daemon can not find your original config file. Br, Laci On Fri, May 25, 2018 at 4:19 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
Hi Andrew,
Thanks for your response. Yes the path is correct
When I execute with host location as /1234 it creates the container, but nothing inside /1234 folder
root@hdata3:/home/smb/code/conf# docker run -it -v "$PWD"/syslog-ng.conf:/1234 --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest syslog-ng: Error setting capabilities, capability management disabled; error='Operation not permitted' [2018-05-25T14:12:15.695588] WARNING: Configuration file format is too old, syslog-ng is running in compatibility mode. Please update it to use the syslog-ng 3.14 format at your time of convenience. To upgrade the configuration, please review the warnings about incompatible changes printed by syslog-ng, and once completed change the @version header at the top of the configuration file.;
I can see inside the container that /etc/syslog-ng/ this folder is not updated
root@hdata3:/home/smb# docker exec -ti syslog-ng /bin/bash root@d634d32aee4c:/# root@d634d32aee4c:/# ls -l /1234/ total 0 root@d634d32aee4c:/# root@d634d32aee4c:/# ls -l /sy/etcslog-ng/ conf.d/ patterndb.d/ scl.conf syslog-ng.conf root@d634d32aee4c:/# ls -lrt /etc/syslog-ng/ total 12 -rw-r--r--. 1 root root 5910 Feb 23 13:17 syslog-ng.conf drwxr-xr-x. 2 root root 6 Mar 2 12:58 conf.d drwxr-xr-x. 2 root root 6 Mar 2 12:58 patterndb.d -rw-r--r--. 1 root root 1336 Mar 2 12:58 scl.conf root@d634d32aee4c:/#
On 25 May 2018 at 13:31, Mitzki, András <andras.mitzki@balabit.com> wrote:
Hi Mujeeb,
Maybe the problem is with the config file path: "/home/smb/code/conf/syslog-ng.conf" Could you check that path is correct?
Regards Andrew
On Fri, May 25, 2018 at 1:13 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
Hi
This is my first trial of syslog-ng. I've tried to start syslog-ng just like described on the official bolg page https://syslog-ng.com/blog/cen tral-log-server-docker/ https://syslog-ng.com/blog/col lecting-docker-infrastructure-logs-using-syslog-ng/
I am starting docker container as:
docker run -it -v "$PWD"/syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest
But unfortunately it is failing to mount my custom (local) configuration file from source to host, complaining about mounting a directory onto file
Error:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\"/home/smb/code/conf/syslog-ng.conf\\" to rootfs \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e759 6ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs\\" at \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e759 6ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs/etc/syslog-ng/syslog-ng.conf\\" caused \\"not a directory\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
Am I missing something?
Please let me know
Many Thanks
Mujeeb
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support /documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product= syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/? product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
It is locating the source correctly, this is what I see under 'Mounts' section of inspect "Mounts": [ { "Type": "bind", "Source": "/home/smb/code/conf/syslog-ng.conf", "Destination": "/1234", "Mode": "", "RW": true, "Propagation": "rprivate" } ], On 25 May 2018 at 15:57, Szemere, László <laszlo.szemere@balabit.com> wrote:
Hello,
From the Docker documentation: https://docs.docker.com/v17.09/engine/ admin/volumes/bind-mounts/#differences-between--v-and---mount-behavior
If you use -v or --volume to bind-mount a file or directory that does not
yet exist on the Docker host, -v will create the endpoint for you. *It is always created as a directory.*If you use --mount to bind-mount a file or directory that does not yet exist on the Docker host, Docker does *not* automatically create it for you, but generates an error.
It looks like docker daemon still can not find your file *"$PWD"/syslog-ng.conf* and creates a directory instead. Instead of heavy debugging, I suggest to run *docker inspect syslog-ng* to see what path was actually mounted by the docker daemon. You should see something like this in the output:
"Mounts": [
{ "Type": "bind", "Source": "XXX/syslog-ng.conf", "Destination": "/1234", "Mode": "", "RW": true, "Propagation": "rprivate" }
Once we have the actual mounted path, it will be easier to figure out why the docker daemon can not find your original config file.
Br, Laci
On Fri, May 25, 2018 at 4:19 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
Hi Andrew,
Thanks for your response. Yes the path is correct
When I execute with host location as /1234 it creates the container, but nothing inside /1234 folder
root@hdata3:/home/smb/code/conf# docker run -it -v "$PWD"/syslog-ng.conf:/1234 --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest syslog-ng: Error setting capabilities, capability management disabled; error='Operation not permitted' [2018-05-25T14:12:15.695588] WARNING: Configuration file format is too old, syslog-ng is running in compatibility mode. Please update it to use the syslog-ng 3.14 format at your time of convenience. To upgrade the configuration, please review the warnings about incompatible changes printed by syslog-ng, and once completed change the @version header at the top of the configuration file.;
I can see inside the container that /etc/syslog-ng/ this folder is not updated
root@hdata3:/home/smb# docker exec -ti syslog-ng /bin/bash root@d634d32aee4c:/# root@d634d32aee4c:/# ls -l /1234/ total 0 root@d634d32aee4c:/# root@d634d32aee4c:/# ls -l /sy/etcslog-ng/ conf.d/ patterndb.d/ scl.conf syslog-ng.conf root@d634d32aee4c:/# ls -lrt /etc/syslog-ng/ total 12 -rw-r--r--. 1 root root 5910 Feb 23 13:17 syslog-ng.conf drwxr-xr-x. 2 root root 6 Mar 2 12:58 conf.d drwxr-xr-x. 2 root root 6 Mar 2 12:58 patterndb.d -rw-r--r--. 1 root root 1336 Mar 2 12:58 scl.conf root@d634d32aee4c:/#
On 25 May 2018 at 13:31, Mitzki, András <andras.mitzki@balabit.com> wrote:
Hi Mujeeb,
Maybe the problem is with the config file path: "/home/smb/code/conf/syslog-ng.conf" Could you check that path is correct?
Regards Andrew
On Fri, May 25, 2018 at 1:13 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
Hi
This is my first trial of syslog-ng. I've tried to start syslog-ng just like described on the official bolg page https://syslog-ng.com/blog/cen tral-log-server-docker/ https://syslog-ng.com/blog/col lecting-docker-infrastructure-logs-using-syslog-ng/
I am starting docker container as:
docker run -it -v "$PWD"/syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest
But unfortunately it is failing to mount my custom (local) configuration file from source to host, complaining about mounting a directory onto file
Error:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\"/home/smb/code/conf/syslog-ng.conf\\" to rootfs \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e759 6ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs\\" at \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e759 6ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs/etc/syslog-ng/syslog-ng.conf\\" caused \\"not a directory\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
Am I missing something?
Please let me know
Many Thanks
Mujeeb
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support /documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support /documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product= syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/? product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
Hello, Thank you for the output. Can you run the *file /home/smb/code/conf/syslog-ng.conf* command on your HOST machine? Br, Laci On Fri, May 25, 2018 at 5:04 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
It is locating the source correctly, this is what I see under 'Mounts' section of inspect
"Mounts": [ { "Type": "bind", "Source": "/home/smb/code/conf/syslog-ng.conf", "Destination": "/1234", "Mode": "", "RW": true, "Propagation": "rprivate" } ],
On 25 May 2018 at 15:57, Szemere, László <laszlo.szemere@balabit.com> wrote:
Hello,
From the Docker documentation: https://docs.do cker.com/v17.09/engine/admin/volumes/bind-mounts/#differenc es-between--v-and---mount-behavior
If you use -v or --volume to bind-mount a file or directory that does
not yet exist on the Docker host, -v will create the endpoint for you. *It is always created as a directory.*If you use --mount to bind-mount a file or directory that does not yet exist on the Docker host, Docker does *not* automatically create it for you, but generates an error.
It looks like docker daemon still can not find your file *"$PWD"/syslog-ng.conf* and creates a directory instead. Instead of heavy debugging, I suggest to run *docker inspect syslog-ng* to see what path was actually mounted by the docker daemon. You should see something like this in the output:
"Mounts": [
{ "Type": "bind", "Source": "XXX/syslog-ng.conf", "Destination": "/1234", "Mode": "", "RW": true, "Propagation": "rprivate" }
Once we have the actual mounted path, it will be easier to figure out why the docker daemon can not find your original config file.
Br, Laci
On Fri, May 25, 2018 at 4:19 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
Hi Andrew,
Thanks for your response. Yes the path is correct
When I execute with host location as /1234 it creates the container, but nothing inside /1234 folder
root@hdata3:/home/smb/code/conf# docker run -it -v "$PWD"/syslog-ng.conf:/1234 --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest syslog-ng: Error setting capabilities, capability management disabled; error='Operation not permitted' [2018-05-25T14:12:15.695588] WARNING: Configuration file format is too old, syslog-ng is running in compatibility mode. Please update it to use the syslog-ng 3.14 format at your time of convenience. To upgrade the configuration, please review the warnings about incompatible changes printed by syslog-ng, and once completed change the @version header at the top of the configuration file.;
I can see inside the container that /etc/syslog-ng/ this folder is not updated
root@hdata3:/home/smb# docker exec -ti syslog-ng /bin/bash root@d634d32aee4c:/# root@d634d32aee4c:/# ls -l /1234/ total 0 root@d634d32aee4c:/# root@d634d32aee4c:/# ls -l /sy/etcslog-ng/ conf.d/ patterndb.d/ scl.conf syslog-ng.conf root@d634d32aee4c:/# ls -lrt /etc/syslog-ng/ total 12 -rw-r--r--. 1 root root 5910 Feb 23 13:17 syslog-ng.conf drwxr-xr-x. 2 root root 6 Mar 2 12:58 conf.d drwxr-xr-x. 2 root root 6 Mar 2 12:58 patterndb.d -rw-r--r--. 1 root root 1336 Mar 2 12:58 scl.conf root@d634d32aee4c:/#
On 25 May 2018 at 13:31, Mitzki, András <andras.mitzki@balabit.com> wrote:
Hi Mujeeb,
Maybe the problem is with the config file path: "/home/smb/code/conf/syslog-ng.conf" Could you check that path is correct?
Regards Andrew
On Fri, May 25, 2018 at 1:13 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
Hi
This is my first trial of syslog-ng. I've tried to start syslog-ng just like described on the official bolg page https://syslog-ng.com/blog/central-log-server-docker/ https://syslog-ng.com/blog/collecting-docker-infrastructure- logs-using-syslog-ng/
I am starting docker container as:
docker run -it -v "$PWD"/syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest
But unfortunately it is failing to mount my custom (local) configuration file from source to host, complaining about mounting a directory onto file
Error:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\"/home/smb/code/conf/syslog-ng.conf\\" to rootfs \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e759 6ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs\\" at \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e759 6ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs/etc/syslog-ng/syslog-ng.conf\\" caused \\"not a directory\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
Am I missing something?
Please let me know
Many Thanks
Mujeeb
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support /documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support /documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support /documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product= syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/? product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
Hi Laci, It runs fine root@hdata3:/home/smb/code/conf# file /home/smb/code/conf/syslog-ng.conf /home/smb/code/conf/syslog-ng.conf: ASCII text Regards Mujeeb On 25 May 2018 at 16:20, Szemere, László <laszlo.szemere@balabit.com> wrote:
Hello,
Thank you for the output. Can you run the
*file /home/smb/code/conf/syslog-ng.conf*
command on your HOST machine?
Br, Laci
On Fri, May 25, 2018 at 5:04 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
It is locating the source correctly, this is what I see under 'Mounts' section of inspect
"Mounts": [ { "Type": "bind", "Source": "/home/smb/code/conf/syslog-ng.conf", "Destination": "/1234", "Mode": "", "RW": true, "Propagation": "rprivate" } ],
On 25 May 2018 at 15:57, Szemere, László <laszlo.szemere@balabit.com> wrote:
Hello,
From the Docker documentation: https://docs.do cker.com/v17.09/engine/admin/volumes/bind-mounts/#difference s-between--v-and---mount-behavior
If you use -v or --volume to bind-mount a file or directory that does
not yet exist on the Docker host, -v will create the endpoint for you. *It is always created as a directory.*If you use --mount to bind-mount a file or directory that does not yet exist on the Docker host, Docker does *not* automatically create it for you, but generates an error.
It looks like docker daemon still can not find your file *"$PWD"/syslog-ng.conf* and creates a directory instead. Instead of heavy debugging, I suggest to run *docker inspect syslog-ng* to see what path was actually mounted by the docker daemon. You should see something like this in the output:
"Mounts": [
{ "Type": "bind", "Source": "XXX/syslog-ng.conf", "Destination": "/1234", "Mode": "", "RW": true, "Propagation": "rprivate" }
Once we have the actual mounted path, it will be easier to figure out why the docker daemon can not find your original config file.
Br, Laci
On Fri, May 25, 2018 at 4:19 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
Hi Andrew,
Thanks for your response. Yes the path is correct
When I execute with host location as /1234 it creates the container, but nothing inside /1234 folder
root@hdata3:/home/smb/code/conf# docker run -it -v "$PWD"/syslog-ng.conf:/1234 --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest syslog-ng: Error setting capabilities, capability management disabled; error='Operation not permitted' [2018-05-25T14:12:15.695588] WARNING: Configuration file format is too old, syslog-ng is running in compatibility mode. Please update it to use the syslog-ng 3.14 format at your time of convenience. To upgrade the configuration, please review the warnings about incompatible changes printed by syslog-ng, and once completed change the @version header at the top of the configuration file.;
I can see inside the container that /etc/syslog-ng/ this folder is not updated
root@hdata3:/home/smb# docker exec -ti syslog-ng /bin/bash root@d634d32aee4c:/# root@d634d32aee4c:/# ls -l /1234/ total 0 root@d634d32aee4c:/# root@d634d32aee4c:/# ls -l /sy/etcslog-ng/ conf.d/ patterndb.d/ scl.conf syslog-ng.conf root@d634d32aee4c:/# ls -lrt /etc/syslog-ng/ total 12 -rw-r--r--. 1 root root 5910 Feb 23 13:17 syslog-ng.conf drwxr-xr-x. 2 root root 6 Mar 2 12:58 conf.d drwxr-xr-x. 2 root root 6 Mar 2 12:58 patterndb.d -rw-r--r--. 1 root root 1336 Mar 2 12:58 scl.conf root@d634d32aee4c:/#
On 25 May 2018 at 13:31, Mitzki, András <andras.mitzki@balabit.com> wrote:
Hi Mujeeb,
Maybe the problem is with the config file path: "/home/smb/code/conf/syslog-ng.conf" Could you check that path is correct?
Regards Andrew
On Fri, May 25, 2018 at 1:13 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
Hi
This is my first trial of syslog-ng. I've tried to start syslog-ng just like described on the official bolg page https://syslog-ng.com/blog/central-log-server-docker/ https://syslog-ng.com/blog/collecting-docker-infrastructure- logs-using-syslog-ng/
I am starting docker container as:
docker run -it -v "$PWD"/syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest
But unfortunately it is failing to mount my custom (local) configuration file from source to host, complaining about mounting a directory onto file
Error:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\"/home/smb/code/conf/syslog-ng.conf\\" to rootfs \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e759 6ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs\\" at \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e759 6ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs/etc/syslog-ng/syslog-ng.conf\\" caused \\"not a directory\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
Am I missing something?
Please let me know
Many Thanks
Mujeeb
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support /documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support /documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support /documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support /documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product= syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
____________________________________________________________ __________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/? product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
Hi Mujeeb, Something weird happened when you executed docker run -it -v "$PWD"/syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest for the first time, so I would like to ask you to start from a clean environment. - You've made sure that /home/smb/code/conf/syslog-ng.conf exists on your host and it is a file. - In the original balabit/syslog-ng image, /etc/syslog-ng/syslog-ng.conf is also a file, so the mount should work. Please run the following commands: 1. docker rm syslog-ng 2. docker rmi balabit/syslog-ng 3. docker pull balabit/syslog-ng And finally, what you actually wanted to run: 4. docker run -it -v /home/smb/code/conf/syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest If you still experience problems after this, please send us the output of "docker volume ls". One more question: Is it possible that "/home/smb/code/conf/" is a mounted network filesystem (NFS, SMB)? -- László Várady On Fri, May 25, 2018 at 5:33 PM Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
Hi Laci,
It runs fine root@hdata3:/home/smb/code/conf# file /home/smb/code/conf/syslog-ng.conf /home/smb/code/conf/syslog-ng.conf: ASCII text
Regards Mujeeb
On 25 May 2018 at 16:20, Szemere, László <laszlo.szemere@balabit.com> wrote:
Hello,
Thank you for the output. Can you run the
*file /home/smb/code/conf/syslog-ng.conf*
command on your HOST machine?
Br, Laci
On Fri, May 25, 2018 at 5:04 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
It is locating the source correctly, this is what I see under 'Mounts' section of inspect
"Mounts": [ { "Type": "bind", "Source": "/home/smb/code/conf/syslog-ng.conf", "Destination": "/1234", "Mode": "", "RW": true, "Propagation": "rprivate" } ],
On 25 May 2018 at 15:57, Szemere, László <laszlo.szemere@balabit.com> wrote:
Hello,
From the Docker documentation: https://docs.docker.com/v17.09/engine/admin/volumes/bind-mounts/#differences...
If you use -v or --volume to bind-mount a file or directory that does
not yet exist on the Docker host, -v will create the endpoint for you.
*It is always created as a directory.*If you use --mount to bind-mount a file or directory that does not yet exist on the Docker host, Docker does *not* automatically create it for you, but generates an error.
It looks like docker daemon still can not find your file *"$PWD"/syslog-ng.conf* and creates a directory instead. Instead of heavy debugging, I suggest to run *docker inspect syslog-ng* to see what path was actually mounted by the docker daemon. You should see something like this in the output:
"Mounts": [
{ "Type": "bind", "Source": "XXX/syslog-ng.conf", "Destination": "/1234", "Mode": "", "RW": true, "Propagation": "rprivate" }
Once we have the actual mounted path, it will be easier to figure out why the docker daemon can not find your original config file.
Br, Laci
On Fri, May 25, 2018 at 4:19 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
Hi Andrew,
Thanks for your response. Yes the path is correct
When I execute with host location as /1234 it creates the container, but nothing inside /1234 folder
root@hdata3:/home/smb/code/conf# docker run -it -v "$PWD"/syslog-ng.conf:/1234 --name syslog-ng -p 514:514 -p 601:601 balabit/syslog-ng:latest syslog-ng: Error setting capabilities, capability management disabled; error='Operation not permitted' [2018-05-25T14:12:15.695588] WARNING: Configuration file format is too old, syslog-ng is running in compatibility mode. Please update it to use the syslog-ng 3.14 format at your time of convenience. To upgrade the configuration, please review the warnings about incompatible changes printed by syslog-ng, and once completed change the @version header at the top of the configuration file.;
I can see inside the container that /etc/syslog-ng/ this folder is not updated
root@hdata3:/home/smb# docker exec -ti syslog-ng /bin/bash root@d634d32aee4c:/# root@d634d32aee4c:/# ls -l /1234/ total 0 root@d634d32aee4c:/# root@d634d32aee4c:/# ls -l /sy/etcslog-ng/ conf.d/ patterndb.d/ scl.conf syslog-ng.conf root@d634d32aee4c:/# ls -lrt /etc/syslog-ng/ total 12 -rw-r--r--. 1 root root 5910 Feb 23 13:17 syslog-ng.conf drwxr-xr-x. 2 root root 6 Mar 2 12:58 conf.d drwxr-xr-x. 2 root root 6 Mar 2 12:58 patterndb.d -rw-r--r--. 1 root root 1336 Mar 2 12:58 scl.conf root@d634d32aee4c:/#
On 25 May 2018 at 13:31, Mitzki, András <andras.mitzki@balabit.com> wrote:
Hi Mujeeb,
Maybe the problem is with the config file path: "/home/smb/code/conf/syslog-ng.conf" Could you check that path is correct?
Regards Andrew
On Fri, May 25, 2018 at 1:13 PM, Mujeeb Baig <baig.mujeeb@gmail.com> wrote:
> Hi > > This is my first trial of syslog-ng. I've tried to start syslog-ng > just like described on the official bolg page > https://syslog-ng.com/blog/central-log-server-docker/ > https://syslog-ng.com/blog/collecting-docker-infrastructure-logs-using-syslo... > > I am starting docker container as: > > docker run -it -v > "$PWD"/syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf --name syslog-ng -p > 514:514 -p 601:601 balabit/syslog-ng:latest > > But unfortunately it is failing to mount my custom (local) > configuration file from source to host, complaining about mounting a > directory onto file > > Error: > > docker: Error response from daemon: OCI runtime create failed: > container_linux.go:348: starting container process caused > "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting > \\"/home/smb/code/conf/syslog-ng.conf\\" to rootfs > \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e7596ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs\\" > at > \\"/var/lib/docker/devicemapper/mnt/52d32f854a030b396b03e7596ab5d71eb1a18f34a09d5e4997c437568749b259/rootfs/etc/syslog-ng/syslog-ng.conf\\" > caused \\"not a directory\\"\"": unknown: Are you trying to mount a > directory onto a file (or vice-versa)? Check if the specified host path > exists and is the expected type. > > Am I missing something? > > Please let me know > > Many Thanks > > Mujeeb > > > > > ______________________________________________________________________________ > Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng > Documentation: > http://www.balabit.com/support/documentation/?product=syslog-ng > FAQ: http://www.balabit.com/wiki/syslog-ng-faq > > >
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
participants (4)
-
László Várady
-
Mitzki, András
-
Mujeeb Baig
-
Szemere, László