.. _examples-on-docker: =========================================== Data transfer examples: Docker environments =========================================== Client–Server data transfer =========================== Step 1: Launch the server on DTN A ---------------------------------- .. code-block:: console $ docker run \ -v /storage_A_host:/storage_A_container \ --net=host \ -v /etc/grid-security:/etc/grid-security \ -v `pwd`:/mdtmwork \ --cap-add=ALL --cap-add=IPC_LOCK --cap-add=SYS_NICE \ --cap-add=SYS_ADMIN --cap-add=NET_ADMIN --cap-add=SYS_RESOURCE \ --security-opt seccomp:unconfined \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/sbin/mdtm-ftp-server -data-interface 131.225.2.29 -password-file passfile -p 5001 Step 2: Launch the client on System C ------------------------------------- Assuming the mdtmFTP client runs in a container. .. _examples-username-password: Authentication method: username/password ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Assuming user name/password: mdtmftp/123456. * `Single file data transfer`: transfer a single file from DTN A to System C. .. code-block:: console $ sudo docker run \ -ti --rm \ --net=host \ -v `pwd`:/mdtmwork \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -p 8 \ ftp://mdtmftp:123456@10.40.130.189:5001/storage_A_container/100G/file1 \ file:///storage_C_container/data1/tmp/ * `Single file data transfer`: transfer a single file from Sysetem C to DTN A. .. code-block:: console $ sudo docker run \ -ti --rm \ --net=host \ -v `pwd`:/mdtmwork \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -p 8 \ file:///storage_C_container/data1/tmp/file1 \ ftp://mdtmftp:123456@10.40.130.189:5001/storage_A_container/tmp/ * `Folder data transfer`: transfer a Linux folder from DTN A to System C. .. code-block:: console $ sudo docker run \ -ti --rm \ --net=host \ -v `pwd`:/mdtmwork \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -p 8 \ ftp://mdtmftp:123456@10.40.130.189:5001/storage_A_container/linux-3.18.21/ \ file:///storage_C_container/data1/tmp/ * `Folder data transfer`: transfer a Linux folder from System C to DTN A. .. code-block:: console $ sudo docker run \ -ti --rm \ --net=host \ -v `pwd`:/mdtmwork \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -p 8 \ file:///storage_C_container/data1/tmp/linux-3.18.21/ \ ftp://mdtmftp:123456@10.40.130.189:5001/storage_A_container/tmp/ Authentication method: GSI certificate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * `Single file data transfer`: transfer a single file from DTN A to System C. .. code-block:: console $ sudo docker run \ -ti --rm \ -u mdtmftp-client \ --net=host \ -v `pwd`:/mdtmwork \ -v /etc/grid-security:/etc/grid-security \ -v /tmp:/tmp \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -p 8 \ gsiftp://10.40.130.189:5001/storage_A_container/100G/file1 \ file:///storage_C_container/data1/tmp/ * `Single file data transfer`: transfer a single file from System C to DTN A. .. code-block:: console $ sudo docker run \ -ti --rm \ -u mdtmftp-client \ --net=host \ -v `pwd`:/mdtmwork \ -v /etc/grid-security:/etc/grid-security \ -v /tmp:/tmp \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -p 8 \ file:///storage_C_container/data1/tmp/file1 \ gsiftp://10.40.130.189:5001/storage_A_container/tmp/ * `Folder data transfer`: transfer a Linux folder from DTN A to System C. .. code-block:: console $ sudo docker run \ -ti --rm \ -u mdtmftp-client \ --net=host \ -v `pwd`:/mdtmwork \ -v /etc/grid-security:/etc/grid-security \ -v /tmp:/tmp \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -p 8 \ gsiftp://10.40.130.189:5001/storage_A_container/linux-3.18.21/ \ file:///storage_C_container/data1/tmp/ * `Folder data transfer`: transfer a Linux folder from System C to DTN A. .. code-block:: console $ sudo docker run \ -ti --rm \ -u mdtmftp-client \ --net=host \ -v `pwd`:/mdtmwork \ -v /etc/grid-security:/etc/grid-security \ -v /tmp:/tmp \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -p 8 \ file:///storage_C_container/data1/tmp/linux-3.18.21/ \ gsiftp://10.40.130.189:5001/storage_A_container/tmp/ Third party data transfer between two remote DTNs ================================================= Step 1: Launch mdtmFTP server on DTN A -------------------------------------- .. code-block:: console $ sudo docker run \ -v /storage_A_host:/storage_A_container \ --net=host \ -v /etc/grid-security:/etc/grid-security \ -v `pwd`:/mdtmwork \ --cap-add=ALL --cap-add=IPC_LOCK --cap-add=SYS_NICE \ --cap-add=SYS_ADMIN --cap-add=NET_ADMIN --cap-add=SYS_RESOURCE \ --security-opt seccomp:unconfined \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/sbin/mdtm-ftp-server -data-interface 131.225.2.29 -password-file passfile -p 5001 Step 2: Launch mdtmFTP server on DTN B -------------------------------------- .. code-block:: shell $ sudo docker run \ -v /storage_B_host:/storage_B_container \ --net=host \ -v /etc/grid-security:/etc/grid-security \ -v `pwd`:/mdtmwork \ --cap-add=ALL --cap-add=IPC_LOCK --cap-add=SYS_NICE \ --cap-add=SYS_ADMIN --cap-add=NET_ADMIN --cap-add=SYS_RESOURCE \ --security-opt seccomp:unconfined \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/sbin/mdtm-ftp-server -data-interface 131.225.2.31 -password-file passfile -p 5001 Step 3: Launch the client on System C ------------------------------------- Assuming the mdtmFTP client runs in a container. Authentication method: username/password ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Assuming user name/password: mdtmftp/123456 * `Single file data transfer`: transfer a single file from DTN A to DTN B. .. code-block:: console $ sudo docker run \ -ti --rm \ --net=host \ -v `pwd`:/mdtmwork \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -p 8 -vb \ ftp://mdtmftp:123456@131.225.2.29:5001/storage_A_container/data1/100G/file1 \ ftp://mdtmftp:123456@131.225.2.31:5001/storage_B_container/data1/tmp/ * `Folder data transfer`: transfer a Linux folder from DTN A to DTN B. .. code-block:: console $ sudo docker run \ -ti --rm \ --net=host \ -v `pwd`:/mdtmwork \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -p 8 –vb \ ftp://mdtmftp:123456@131.225.2.29:5001/storage_A_container/data1/linux-3.18.21/ \ ftp://mdtmftp:123456@131.225.2.31:5001/storage_B_container/data1/tmp/ Authentication method: GSI certificate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * `Single file data transfer`: transfer a single file from DTN A to DTN B. .. code-block:: console $ sudo docker run \ -ti --rm \ -u mdtmftp-client \ --net=host \ -v `pwd`:/mdtmwork \ -v /etc/grid-security:/etc/grid-security \ -v /tmp:/tmp \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -p 8 -vb \ gsiftp://131.225.2.29:5001/storage_A_container/data1/100G/file1 \ gsiftp://131.225.2.31:5001/storage_B_container/data1/tmp/ * `Folder data transfer`: transfer a Linux folder from DTN A to DTN B. .. code-block:: console $ sudo docker run \ -ti --rm \ -u mdtmftp-client \ --net=host \ -v `pwd`:/mdtmwork \ -v /etc/grid-security:/etc/grid-security \ -v /tmp:/tmp \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -p 8 –vb \ gsiftp://131.225.2.29:5001/storage_A_container/data1/linux-3.18.21/ \ gsiftp://131.225.2.31:5001/storage_B_container/data1/tmp/ .. _client-server-ipv6-examples: Client–Server data transfer (IPv6) ================================== Step 1: Launch the server on DTN A: .. code-block:: console $ sudo docker run \ -v /storage_A_host:/storage_A_container \ --net=host \ -v /etc/grid-security:/etc/grid-security \ -v `pwd`:/mdtmwork \ --cap-add=ALL --cap-add=IPC_LOCK --cap-add=SYS_NICE \ --cap-add=SYS_ADMIN --cap-add=NET_ADMIN --cap-add=SYS_RESOURCE \ --security-opt seccomp:unconfined \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/sbin/mdtm-ftp-server -control-interface 2620:6a:0:2::2:48 \ -password-file passfile -p 5050 -l mdtmftp.log -log-level all Step 2: Launch the client on System C: * Single file data transfer: transfer a single file from DTN A to System C. .. code-block:: console $ sudo docker run \ -ti --rm \ --net=host \ -v `pwd`:/mdtmwork \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -ipv6 -vb -p 16 \ ftp://mdtmftp:123456@131.225.2.29:5050/storage_A_container/data1/10G.bin \ file:///storage_C_container/data1/tmp/ * Single file data transfer: transfer a single file from System C to DTN A. .. code-block:: console $ sudo docker run \ -ti --rm \ --net=host \ -v `pwd`:/mdtmwork \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -ipv6 -vb -p 16 \ file:///storage_C_container/data1/tmp/10G.bin \ ftp://mdtmftp:123456@131.225.2.29:5050/storage_A_container/data1/ * Folder data transfer: transfer a Linux folder from DTN A to System C. .. code-block:: console $ sudo docker run -ti --rm \ --net=host \ -v `pwd`:/mdtmwork \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -ipv6 -vb -p 16 \ ftp://mdtmftp:123456@131.225.2.29:5050/storage_A_container/data1/linux-3.18.17/ \ file:///storage_C_container/data1/tmp/ * Folder data transfer: transfer a Linux folder from System C to DTN A. .. code-block:: console $ sudo docker run \ -ti --rm \ --net=host \ -v `pwd`:/mdtmwork \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -ipv6 -vb -p 16 \ file:///storage_C_container/data1/linux-3.18.17/ \ ftp://mdtmftp:123456@131.225.2.29:5050/storage_A_container/data1/tmp/ .. _third-party-ipv6-examples: Third party data transfer between two remote hosts (IPv6) ========================================================= Step 1: Launch mdtmFTP server on remote DTN A. .. code-block:: console $ sudo docker run \ -v /storage_A_host:/storage_A_container \ --net=host \ -v /etc/grid-security:/etc/grid-security \ -v `pwd`:/mdtmwork \ --cap-add=ALL --cap-add=IPC_LOCK --cap-add=SYS_NICE \ --cap-add=SYS_ADMIN --cap-add=NET_ADMIN --cap-add=SYS_RESOURCE \ --security-opt seccomp:unconfined \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/sbin/mdtm-ftp-server \ -data-interface 2620:6a:0:2::2:48 \ -password-file passfile \ -p 5050 -l mdtmftp.log -log-level all Step 2: Launch mdtmFTP server on remote DTN B. .. code-block:: console $ sudo docker run \ -v /storage_B_host:/storage_B_container \ --net=host \ -v /etc/grid-security:/etc/grid-security \ -v `pwd`:/mdtmwork \ --cap-add=ALL --cap-add=IPC_LOCK --cap-add=SYS_NICE \ --cap-add=SYS_ADMIN --cap-add=NET_ADMIN --cap-add=SYS_RESOURCE \ --security-opt seccomp:unconfined \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/sbin/mdtm-ftp-server \ -data-interface 2620:6a:0:2::2:49 \ -password-file passfile \ -p 5050 -l mdtmftp.log -log-level all Step 3: Launch the client on System C. For username/password authentication, .. code-block:: console $ sudo docker run \ -ti --rm \ -u mdtmftp-client \ --net=host \ -v `pwd`:/mdtmwork \ -v /etc/grid-security:/etc/grid-security \ -v /tmp:/tmp \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -ipv6 -vb -p 16 \ ftp://mdtmftp:123456@131.225.2.29:5050/storage_A_container/data1/10G.bin \ ftp://mdtmftp:123456@131.225.2.31:5050/storage_B_container/data1/tmp/ For GSI authentication, .. code-block:: console $ sudo docker run \ -ti --rm \ -u mdtmftp-client \ --net=host \ -v `pwd`:/mdtmwork \ -v /etc/grid-security:/etc/grid-security \ -v /tmp:/tmp \ publicregistry.fnal.gov/mdtmftp/mdtmftp:1.1.1-xenial \ /usr/local/mdtmftp/1.1.1/bin/mdtm-ftp-client -ipv6 -vb -p 16 \ gsiftp://mdtmftp:123456@131.225.2.29:5050/storage_A_container/data1/10G.bin \ gsiftp://mdtmftp:123456@131.225.2.31:5050/storage_B_container/data1/tmp/