Quick Start Guide: Talend and Docker
Pekerjaan penerapan perusahaan terkenal karena sifatnya yang kaku dan lambat dalam menanggapi perubahan. Dengan banyaknya organisasi yang mengadopsi layanan Docker dan kontainer, menjadi mudah untuk menggabungkan siklus hidup penerapan Talend mereka ke dalam layanan Docker dan kontainer yang sudah ada, sehingga menciptakan platform penerapan yang lebih terpadu untuk dibagikan ke berbagai aplikasi dalam suatu organisasi.
Artikel ini dimaksudkan sebagai panduan cepat tentang cara membuat Pekerjaan Talend sebagai gambar Docker menggunakan layanan Docker yang ada di host jarak jauh.
Selain itu, untuk memberikan pemahaman yang lebih baik tentang penanganan gambar Docker, beberapa topik di bawah ini dibahas dengan membandingkan skrip sh/bat dan gambar Docker.
Menyiapkan Docker Anda untuk Pembangunan Jarak Jauh
Talend Studio perlu terhubung ke layanan Docker agar dapat menghasilkan citra Docker.
Layanan Docker dapat berjalan pada mesin tempat Talend Studio diinstal, atau mungkin berjalan di suatu tempat pada host jarak jauh. Langkah ini tidak diperlukan jika Docker berjalan pada mesin yang sama tempat Talend Studio diinstal; langkah ini diperlukan hanya jika Talend Studio dan Docker berjalan pada host yang berbeda.
Bangun Citra Docker dari Talend Studio v7.1 atau Lebih Baru
Pada v7.1, Talend memperkenalkan plugin Fabric 8 Maven untuk menghasilkan citra Docker langsung dari Talend Studio.
Dengan menggunakan Talend Studio, kita dapat membuat citra Docker yang disimpan dalam repositori Docker lokal. Jika tidak, kita dapat membuat dan menerbitkan citra Docker ke registri mana pun yang kita pilih.
Mari kita lihat kedua opsi tersebut:
Membangun Citra Docker dari Talend Studio
- Right-click on the Job and navigate to the Build Job option:
- Under build type, select Docker Image:
3. Choose the appropriate context and log4h level.
4. Under Docker Options, select local if Docker and Studio are installed on same host, or select Remote if your Docker service is running on a different host from the one where Talend Studio is installed. In our example, we enabled Docker for a remote build via TCP on port 2375
tcp://dockerhostIP:2375
5. Once this is done, your Docker image is built and stored in the Docker repository, in our example on host 2.
6. Log in to the Docker host, in our example host 2, and execute the command docker images. You should be able to view the image we just built:
Membangun dan Memublikasikan Citra Docker ke Registry dari Talend Studio
Talend Studio dapat digunakan untuk membuat citra Docker, dan citra tersebut dapat dipublikasikan ke registri mana pun tempat citra tersebut dapat diambil oleh Kubernetes atau layanan kontainer apa pun. Dalam contoh kita, saya telah menyiapkan registri AWS ECR.
- Right-click on the Job name and navigate to the Publish option.
2. Select the Export Type Docker Image:
3. Under Docker Options, provide the Docker host and port details as discussed in the previous topics. Give the necessary details of the registry and Docker image name:
Image Name = Repository Name Image Tag=Jobname_Version Username = AccessKeyId (AWS) Password=Secret (AWS)
4. Once this is done, navigate to AWS ECR and you should able to search and find the image
Menjalankan Docker Images vs Shell or Bat scripts
Dengan Talend, kita semua terbiasa dengan skrip .SH atau .Bat, jadi untuk pemahaman yang lebih baik tentang cara menjalankan citra Docker, mari kita bahas berbagai aspek, seperti cara meneruskan parameter waktu proses dan pemasangan volume, secara terperinci di bawah ini.
Melewati Proses Parameter Waktu ke Docker Image
To run the Docker image that is in your Docker repository (Talend Build Job as Docker)
- List all the Docker Images by running the command docker images:
- Now I want to run the image madhav_tmc/tlogrow, Tag latest, which uses a tWarn component to print a message. Part of the message will be from the context variable param.
3. Run the Docker image by passing a value to the context variable param at runtime:
docker run madhav_tmc/tlogrow:latest \--context_param param="Hello TalendDocker"
Below in the log, we can see the value passed to the Docker image at runtime