Skip to main content

How to Use FastTransfer with Docker

Pierre-Antoine Collet
Pierre-Antoine Collet, ARPE.IO Developer
2026-02-18 · 4 min

The FastTransfer Docker image allows you to easily integrate this high-performance data transfer utility into your data integration workflows and automation pipelines, without having to install FastTransfer directly on your machines.

Why Use FastTransfer with Docker?

The official arpeio/fasttransfer Docker image offers several advantages:

  • Simplified deployment: No installation required, just Docker
  • Portability: Works anywhere Docker is installed
  • Automatic updates: Images automatically updated with each new version and weekly security patches
  • Native integration: Compatible with Kubernetes, Docker Compose, Airflow, and other orchestrators
  • Multi-source support: Transfer data between SQL Server, PostgreSQL, Oracle, and more

Prerequisites

  • Docker 24+ installed on your machine
  • A valid FastTransfer license (≥ 0.14.0)
  • Access to source and target databases

Pull the Docker Image

The image is available on DockerHub. You can use the latest version or a specific version:

# Latest version
docker pull arpeio/fasttransfer:latest

# Specific version
docker pull arpeio/fasttransfer:v0.15.0

Example: Transfer Data from SQL Server to SQL Server

Here's a complete example of using FastTransfer with Docker to transfer data between two SQL Server databases in parallel.

1. Prepare Your License

Since version 0.14.0, the license is passed directly as a parameter:

export licenseContent=$(cat ./FastTransfer.lic)

2. Run FastTransfer in Docker

docker run --rm \
arpeio/fasttransfer:latest \
--sourceconnectiontype "mssql" \
--sourceserver "host.docker.internal,1433" \
--sourceuser "SrcUser" \
--sourcepassword "SrcPass" \
--sourcedatabase "source_db" \
--sourceschema "dbo" \
--sourcetable "orders" \
--targetconnectiontype "pgcopy" \
--targetserver "host.docker.internal:5432" \
--targetuser "PgUser" \
--targetpassword "PgPass" \
--targetdatabase "pg_db" \
--targetschema "dbo" \
--targettable "orders" \
--paralleldegree 12 \
--parallelmethod "Ntile" \
--distributekeycolumn "o_orderkey" \
--loadmode "Truncate" \
--license "$licenseContent"

Command Details

  • host.docker.internal: Allows access to databases running on your host machine
  • --sourceconnectiontype "mssql": Source connection type for SQL Server
  • --targetconnectiontype "pgcopy": Target connection using Postgres PGCOPY
  • --method "Ntile": Parallel distribution method based on the specified key column
  • --distributekeycolumn "o_orderkey": Column used to distribute data across parallel workers
  • --paralleldegree 12: Uses 12 parallel threads for optimal throughput
  • --loadmode "Truncate": Truncates target table before loading
  • --license: Your FastTransfer license passed inline

To discover all the possibilities of the Docker image, check out the complete documentation.

Conclusion

The FastTransfer Docker image greatly simplifies the deployment and use of FastTransfer in your data integration environments. Whether for database-to-database transfers, CSV imports, or complex ETL pipelines, Docker provides the flexibility and portability required by modern data architectures.

Try it now and share your feedback!