 Oh, ini berguna? Ya, ini berguna. Ini berguna. Lihatlah. Ya, ini satu-satunya. Jadi, bahagian yang saya fikir, saya ubah. Jadi, sekarang ini dari kaca pakaian ke kota, jadi, ini berguna dengan baik. Jangan tahu apa ini berlaku. Beritahu saya yang sedikit. Saya Chris Han. Saya dari Paipo. Saya melakukan pakaian yang terhadap. Sebenarnya, saya pakaian yang berguna untuk menjadi pakaian. Dan kami membuat pakaian yang berlaku. Jadi, anda dapat melihatnya di web, di pakaian yang berlaku. Jadi, mari kita mulakan dengan pakaian yang sederhana, membuat kontainan. Anda mungkin pernah tengok ini. Bagaimana anda membuat kontainan untuk proses yang berlaku? Jadi, ini sangat mudah. Anda hanya memilih pakaian. Mungkin ini Wuntu, saya menggunakan media. Kemudian, anda memiliki proses yang berlaku di dalam pakaian. Ada satu kisah ini. Anda menggantikan pakaian yang diberi pada pakaian yang bersama pada pakaian yang berlaku. Mada petunjauan pakaian yang bersama pada pakaian yang berlaku dan anda buka program ini. Jadi, anda boleh mula pakaian yang berlaku. Kemudian, anda membuat pakaian yang menyangkut pakaian. Kemudian, anda memuliki pakaian yang sudah diserang. Jadi, ini sangat mudah. Banyakan dengan keadaan bahagia, jika anda memiliki kota, anda tidak memiliki pakaian yang seronok. kemungkinan yang digunakan dalam gambar dan itu saja. Jadi adalah gambar minimal yang hanya 3 Mb, 4 Mb, tetapi jika anda dapat melakukan ini, maka anda tidak hanya memakai kontainan kita. Kemungkinan adalah aplikasi yang normal yang anda sebenarnya ingin memakai gambar yang lebih teruk daripada ini. Jadi mari kita sebenarnya mempunyai contoh real world, web app. Jadi pilihan kita adalah bagaimana banyak anda tahu tentang Flaro. Okey. Jadi ia adalah pilihan yang berlainan pada software PHP forum. Ia sangat baru. Dan saya memikirkan ini kerana ia sebenarnya quite complex aplikasi. Jadi ada beberapa kisah. Sekarang aplikasi ini adalah baru-baru keadaan aktif. Ia ada aplikasi yang berlainan, ada komits yang berlainan. Jadi pembinaan dan pesakit, jika anda menggunakan gambar yang berlainan dengan aplikasi ini di dalam, anda akan mahu bekerja dalam pembinaan yang berlainan. Tetapi pilihan yang berlainan, mereka tidak mahu berlainan sebelum itu. Mereka hanya mahu menggunakan kontainer dan ia hanya berlainan. Mereka hanya mahu berlainan. Orang yang sebenarnya mahu menggunakan aplikasi yang perlu diperlainan pada versi-versi dan beberapa pilihan yang mereka mahu menggunakan pilihan yang lebih berlainan. Jadi, untuk pilihan itu, anda boleh mempunyai satu-satunya perjalanan. Anda hanya menggunakan semuanya ke dalam kontainer satu-satunya. Jadi ini berlainan untuk pilihan yang berlainan dan anda hanya mahu menggunakan pilihan yang berlainan. Jadi, pilihan yang berlainan pada versi-versi dan ia hanya berlainan. Jadi, anda boleh menggunakan beberapa parameter perniagaan yang berlainan dengan barang perbaru, atau anda boleh juga melakukan pengawasan data, untuk contikan kontainer yang anda mahu menjadi database, untuk berlainan. Jadi, anda akan menggunakan pilihan yang berlainan. Tetapi, menggunakan aplikasi yang lebih berlainan, sekarang ini aplikasi PHP, jadi ini aplikasi database. Jadi, pilihan yang perlu dilakukan Bukan seri IPM, tapi ini yang kita gunakan di esam. MySQL, MariaDB, dan juga web server engineX, Ola Pachain. Jadi, banyak proses. Anda dapat menggunakan banyak proses dalam kontainer. Ini menurut doktor-dash mereka, walaupun sebuah proses untuk kontainer filosofi. Jadi, untuk melakukan itu, anda biasanya perlukan sistem atau proses supervisor. Jadi, ada beberapa tutorial atau beberapa proses, di mana orang sebenarnya menggunakan perkara supervisor-D, yang tidak sebab tidak ingin diberikan sebagai PID-1, dan juga ada masalah zombie. Jadi, ini telah diberikan di blog-post, jadi anda dapat melihatnya di Google. Ada beberapa orang menggunakan Runit, bagaimanapun, itu adalah pilihan yang sangat popular, disebabkan pilihan fuzion, yang sebenarnya menggunakan pilihan Runit. Sejak itu, ia perlu menggunakan pilihan perlukan. Tapi, beberapa orang akan keluar dengan sistem micro-init, yang sangat kelihatan dalam sistem ini adalah S6, dan yang baru-baru mengubah projek yang baru-baru disebabkan S6 yang mempunyai beberapa perempuan yang menyebabkan. Jadi, ia menggunakan pilihan Runit. Dan, untuk melihatnya, untuk menggunakan doktor-dash, anda harus selalu menggunakan proses PID-1, sebagai pilihan pilihan pilihan pilihan. Dan itu akan menyebabkan perlukan untuk memutuskan jika ada perempuan-perempuan. Jadi, untuk ini, mungkin anda akan menjadi pilihan perlukan atau PID-1. Jadi, pertama kita akan mulakan dengan menggunakan pilihan pilihan pilihan. Kita hanya menggunakan pilihan Runit untuk ini. Kita menggunakan pilihan Runit 3.2. Dan kemudian kita baru-baru menggunakan pilihan S6 pada hari ini. Dan itu adalah pilihan pilihan kita. Jadi, kita hanya menggunakan pilihan, menggunakan pilihan, untuk memuji pilihan Runit yang suka untuk menggunakan kiri-kiri dan membuat pilihan Runit. Dan itu adalah pilihan Runit yang suka untuk menggunakan kiri-kiri pada hari ini. Jika anda menggunakan pilihan Runit, anda akan memupi pilihan Runit 4.2. Yang mana anda menyebabkan yang dikatakan? Untuk menyebabkan pilihan Runit yang lebih baik, anda akan membuat pilihan Runit. Dan saya akan bahawa anda akan memutuskan dan ia berlaku di dalam kualiti. Tidak mengapa. Dia memasuki taro ke dalam kualiti. Ya. Dan kemudian, awak tak dapat mengajar taro ke dalam kualiti. Taro ke dalam kualiti adalah... ia hanya mempunyai beberapa kualiti antedirectory. Ia hanya kualiti yang diperlukan. Sejak anda mempunyai beberapa servis yang diperlukan di dalam kualiti. Jadi, ini di luar lokal? Ya. Jadi, kualiti yang diperlukan di dalam kualiti. Sebenarnya, saya boleh menunjukkan kepada anda. Ia sedikit kecil tapi saya dapat melihat beberapa... RoodFS, ETC, dan kemudian ini... ...saya hanya memasuki taro ke dalam kualiti. Ini hanya penjualan. Jadi, ETC, dan kemudian... Ia sedikit kelihatan kerana jika anda memasuki taro ke dalam kualiti... ...apa saja yang diperlukan di dalam kualiti? Ya. Well, RoodFS itu hanya penjualan yang berkata... ...baiklah ini adalah kualiti yang diperlukan di dalam kualiti. ETC atau servis yang diperlukan di dalam kualiti. Dan anda hanya mahu memasuki taro ke dalam kualiti. Saya sedang mencari taro ke dalam kualiti. Ya, ia hanya menolakkan ke dalam kualiti. Ia tidak sebuah kualiti. Ia hanya mencari taro ke dalam kualiti. Di akhirnya, anda hanya membuat kualiti yang diperlukan. Itu yang kualiti yang diperlukan. Sebuah kualiti yang diperlukan di dalam kualiti. Untuk kualiti yang diperlukan di dalam kualiti... ...saya akan memastikan segala-galanya yang perlu diperlukan... ...untuk memperlukan ke dalam kualiti yang diperlukan di dalam kualiti. Jadi, nginx, database dan PHP. Jadi, anda dapat melihat keadaan yang diperlukan di dalam kualiti. Di dalam kualiti, anda menggunakan apk sebagai pengalaman pakaian. Jadi apk menambah nginx, PHP atau pengalaman pakaian. MariaDB... Bukan apk yang sebenarnya mengalami kualiti? Ini berdasarkan sebuah pakaian. Jadi, mereka hanya mempunyai MariaDB. Sebenarnya, anda dapat menambah kualiti yang diperlukan... ...untuk kualiti yang diperlukan di dalam kualiti. Kemudian anda membuat perkara yang sama. Di ROOT-apps, ada kualiti yang lain yang menggunakan... ...pada kualiti yang menggunakan PHP.ini. Ia di dalam kualiti PHP. Jadi, anda hanya menggunakan apk. Ini hanya memuatkan kualiti dalam pengalaman pakaian. Anda dapat sebenarnya menambah kualiti di dalam kualiti. Kemudian anda mempunyai kualiti yang berkualiti... ...untuk pakaian yang diperlukan di dalam kualiti. Dan beberapa pakaian yang lebih terkongsi untuk... ...kalau proses yang ada keputusan... ...berusaha untuk membuat set-up dan sebagainya. Pada proses yang terkenal, anda membuat... ...pengalaman pakaian yang berlainan. Jadi, saya akan bercakap dengan kualiti yang penyakit... dan kemudian kita akan menyebabkan kainan. Dan kemudian kainan ini boleh dipanggil sebagai Z-Prival Target Processes. Jadi itu adalah kongsi. Tapi sejak kita menggunakan sistem penggunaan, dan kita sudah mempunyai kainan yang adalah penggunaan kita. Jadi kita akan menggunakan kainan pergerakan perjalanan sebagai kainan kita. Jadi ini adalah kainan yang menarik. Untuk kainan NGX dan PHB, kainan pergerakan adalah kemudian, tetapi untuk kainan pergerakan, kita perlukan kainan pergerakan. Jadi setiap kali, ia menyebabkan jika kainan pergerakan jika tidak, dan ia membuatnya menggunakan Kainan pergerakan. Jika kainan pergerakan tidak membuatnya, ia membuatnya menggunakan kainan ini. Dan hanya kemudian kita memulai kainan pergerakan Kainan pergerakan. Sebenarnya, saya akan mengatakan, saya ada keadaan yang sama dengan saya. Maksud saya, kainan pergerakan, bagaimana anda membuat kainan pergerakan? Jika anda perlu membuat kainan pergerakan, anda boleh membuat kainan pergerakan. Yang ini tidak sangat berkastisikan. Jadi anda dapat memperbaiki. Sekarang kita mempunyai kainan pergerakan. Apa tentang kainan pergerakan? Kainan pergerakan yang akan berharap untuk bekerja di luar kode sosial di luar kode pergerakan. Jadi di sini, anda akan terdapat yang menarik hanya untuk kainan pergerakan. Untuk semua pendapat kainan pergerakan, anda mempunyai semua kainan pergerakan. Jadi anda dapat membuat semua kainan pergerakan di dalam kainan. Pada masa yang tidak menarik, ia tidak memakai kainan pergerakan. Kemudian anda memperbaiki kode pergerakan apabila anda membuat kainan pergerakan. Jika anda melihat kainan pergerakan, anda mempunyai semua proses. Dan kemudian anda akan melihat keadaan yang berkumpul. Anda dapat membuat subversi, tidak ada JAS, semua ini. Semua ini membuat kainan pergerakan lebih daripada web app. Jadi, anda akan perlukan proses yang sedap. Saya memilih ini kerana ia sebenarnya mempunyai sebuah proses yang sangat berkumpul. Dia menggunakan kumpul, kainan pergerakan yang berkumpul, dan menggunakan kainan pergerakan yang lain untuk membuat kainan pergerakan, dan ia hanya menggabungkan dan mengubah jalanan jalanan jalanan. Dan juga, ia mempunyai keadaan yang berkumpul dengan proses yang sama seperti ini. Jadi anda harus menggunakan proses yang sama seperti ini terutama secara yang dit purse, dan setelah membuat pengumpul jalanan jalanan jalanan, anda tidak mengingat стil hatal yang Megalπο, jadi kami dapat mem supervisikan proses jalananrar ini ke dalam biranya lain. Jadi putaran di sini. Anda akan mengerj пар kapA yang menguruskan para pembunuhan slave berkumpul, dan anda mengubah rotasi mengιin spray ter울 Anda dalam pergerakan sieik kemudian anda meminta pembunuhan sumpat untuk mem照kan pergerakan jalanan anda yang memb장 sesuatu macam MS dan js, kemudian anda akan dib counting Sekarang anda masih mempunyai Sautrya 3 yang telah dilaporkan Kemudian anda mempunyai kontainer yang telah dilaporkan dan mempunyai Pimount yang telah dilaporkan Sekarang kita mempunyai pembinaan pembinaan Sekarang kita gunakan untuk membuat Fart organisasi Jadi ini adalah pembinaan pembinaan Tetapi sebelum itu, kita perlukan pembinaan pembinaan Jadi ini akan mempunyai pembinaan yang telah dilaporkan Dan kemudian, apabila pembinaan ini telah dilaporkan, hanya ia membuat pembinaan yang telah dilaporkan dengan pembinaan pembinaan Selepas pembinaan ini telah dilaporkan, bagaimana anda membuat pembinaan yang telah dilaporkan? Pembinaan Semoga dengan pembinaan yang telah dilaporkan Jadi ini adalah pembinaan yang telah dilaporkan dengan pembinaan yang telah dilaporkan Anda mempunyai pembinaan pembinaan yang telah dilaporkan Ini adalah pembinaan pembinaan yang telah dilaporkan Untuk pembinaan yang telah dilaporkan di dalam pembinaan Seperti volume Seperti volume Kemudian di dalam, ini adalah pembinaan yang telah dilaporkan dengan pembinaan Jadi ini adalah pembinaan Ini adalah pembinaan Anda mempunyai pembinaan yang telah dilaporkan dengan pembinaan Pembinaan tidak adalah pembinaan yang telah dilaporkan Oh my god. It's just a regular streak. Ya. You can set a pony as a wish. Oh. Okay. So if it fails, you just look into the direction that's what happened. Just the R and it removes the rest of the environment. How do you get a correct user because if the pile is created as a wish? Ah it's created as a wish. So how do you operate on these piles outside? Stop it by going.. Doctor or whatever. Jangan rindu. Apa pun. Jadi ini adalah apa. Bersyukur sebuah pengerjakan kebincang. Sebab itu kita ada pengerjakan yang berhubungan. Jadi ini... Ini adalah pengerjakan dari pengerjakan. Ini sebenarnya adalah pengerjakan dari pengerjakan. Jadi, ya. Jadi, jika kita mempunyai komposer, anda mempunyai power, anda mempunyai MPN, dan sebagainya. Jadi, ini adalah sebagainya. Sekarang, anda mempunyai sebuah proses yang dibuat. Apakah yang berlaku apabila anda meletakkan kontainer anda di produksi? Sekarang, kontainer akan berubah lagi. Mereka akan berubah lagi. Proses yang diletakkan akan bergantung pada architektur anda dan perkembangan anda. Anda tidak mahu meletakkan database dalam kontainer anda. Jadi, anda mengubah MariaDB, kemudian menggunakan data-based service, AWS, RDS, dan perkembangan anda. Anda mungkin mahu mengubah NGX dan menggunakan kontainer yang diletakkan dengan NGX 4.2. Jadi, anda mungkin masih akan menggunakan kes untuk beberapa proses, bagaimanapun anda mahu menggunakan Php, Kron, dan Syslog. Anda masih akan menggunakan sistem ingin. Sejak sekarang, anda ada beberapa proses yang berlaku dengan proses yang berlaku, anda harus menggunakan komunikasi antara mereka menggunakan links, atau beberapa perkembangan database yang digunakan, bagaimanapun konsol, atau menggunakan perkembangan, tetapi ini di luar sekolah. Ada banyak bercakap tentang ini. Baiklah, sebenarnya, mari kita menunjukkan apa yang berlaku. Sekarang, kita mungkin tidak akan menunjukkan perkembangan anda sendiri kerana ia mengambil masa yang lama, tetapi ini adalah perkembangan yang berlaku. Jadi, ia berkembangan, kemudian apabila ia selesai, apabila anda menggunakan kontainer, ia menggunakan database. Jadi, ia berkata, ia menggunakan setup, kemudian membuat tabungan default, kemudian ia mulai menggunakan kontainer. Jadi, ini adalah NGX. Jadi, apabila saya mempunyai perkembangan anda sendiri, anda dapat melihatnya menggunakan. Bagaimana anda menggunakan perkembangan? Bagaimana anda membuat keputusan yang tidak teruk dengan perkembangan? Jadi, itu adalah perkara lain. Sekarang, saya tidak melihat banyak contoh untuk menggunakan kontainer itu. Jadi, perkara yang saya lihat, jika sesiapa tahu programnya, ia membuat banyak kontainer. Jadi, ia adalah seorang yang membuat yang nama saya. Ia adalah kontainer yang memperkenalkan kontainer untuk doktor. Ia juga membuat banyak perkara yang menarik. Ia juga membuat sesuatu untuk dash team, yang adalah sebuah library yang membuat anda menggunakan perkembangan. Jadi, anda dapat menggunakan untuk menggunakan kontainer untuk menggunakan servis tersebut apabila anda memperkenalkan. Saya ada pertanyaan. Jadi, apa yang berlaku untuk membuat perkembangan? Ia akan memperkenalkan perkembangan sebab saya memperkenalkan perkembangan dengan perkembangan. Untuk perkembangan yang anda tahu? Ya, anda sebenarnya memperkenalkan perkembangan dengan perkembangan perkembangan yang anda memberikan. Jika ia memulangkan perkembangan, ia akan membuat perkembangan. Mungkin anda membutuhkan sesuatu untuk memperkenalkan perkembangan yang anda memperkenalkan. Jadi, anda masih memperkenalkan. Ya. Tapi bagaimana anda mempunyai kelebihan untuk membuat perkembangan? Anda akan memulangkan error code, dan anda akan menentu. Jika kita memperkenalkan perkembangan, ia akan memperkenalkan perkembangan. Tentang perkara terhadap perkembangan, dan jika berkembangan, anda sering mengawakan error code. Yaitu perkembangan. Biasanya perkembangan dengan perkembangan. Makar anda, untuk perkembangan error code, ia sering mengawasi error code Sebenarnya, kita takkan bekerja di luar. Dan DashX ternyata semuanya yang berlaku. Sebenarnya, ia mungkin sesuatu seperti... Ya, mari kita cuba DashX. Bukan ada apa-apa pun. Ya, apabila ada apa-apa pun yang terbaik, kita akan mengambil alih. Apa-apa pun, mari kita kembali ke... Sekarang, anda tahu cara membuat kontainer. Sekarang, anda berdekat dengan aplikasi. Jadi, apa yang berlaku apabila anda perlu mengandalkan? Apabila ada update. Dan bukan hanya aplikasi, tapi juga code update. Ada update OS, system update, security patches dan sebagainya. Apa-apa pun, proses yang biasa adalah... ...dia hanya memperbaiki gambar base dan memperbaiki semua kontainer. Tetapi... ...ada beberapa masalah yang anda mungkin telah mengetahui. Sekarang, kita ada file doktor, Shell Scripts, Make Files. Dan file doktor juga adalah essentially Shell Scripts. Jadi, bukan ini pembentangan? Maksud saya, kita ada... ...saya ada semua terserah ini. Terserah konfigurasi terserah. Dan Sibyl, Shell, Chef, Papa, semua ini. Tetapi... ...kita kembali kembali dengan Shell Scripts. Sibyl. Shell adalah... Oh, betul. Bagaimana? Bagaimana? Bagaimana? Bagaimana? Bagaimana? Ya, tapi tetapi... Bagaimana pembentangan Google Translation? Bagaimana jika anda meledakkan kain có yang dipensi dengan pembentangan? Bagaimana pembentangan pernikatan? Bagaimana? Mereka semua... ...cukup yang seping. Jadi, membuat lebih keberhasilan. Ini penjaya besar. Bagaimana kita mulai? Kita tidak dapat bagi sementara. Disebabkan kerana anda dapat lihat peringkatan lain dari Shell Scripts ini. Dan... ...sείap-s�sebar, saya ingin membuat paket tanpa... ...jaga untuk melarik lihat hanya bagian. Saya ingin memulakan bahkan untuk menggambarkan perangnya selama peka. bagaimanapun sebelumnya, bagaimanapun bagaimanapun bagaimanapun berlainan? Jika anda melihat keputusan bagaimanapun berlainan, saya kata bagaimanapun bagaimanapun berlainan. Boleh anda beritahu saya apa bagaimanapun berlainan di dalam? Saya menggunakan bagaimanapun berlainan. Jadi, tidak perlu beritahu saya apa-apa. Ada keputusan yang telah dikatakan, yang telah dikatakan baru-baru, tetapi anda masih berlainan untuk mendapat informasi di dalam. Anda tidak dapat menghormati dengan menggantikan bagaimanapun bagaimanapun dengan berlainan. Anda tidak dapat menghormati dengan terlebih dahulu daripada yang tersebut. Mereka tidak membuat keputusan yang sering menggunakan berlainan. Jadi, anda tidak dapat menggantikan segala keputusan bagaimanapun di dalam dan menginstall. Jadi, ia adalah masalah. Jika anda mencari pembentangan bagaimanapun, kemudian anda masuk ke dalam dan menggantikan pembentangan, kemudian kemudian kembali ke dalam peringatan. Itu tak terlalu susah untuk membuat peringatan. Tapi itu bergantung. Jika peringatan anda cukup kecil, jika anda tidak mempunyai banyak peringatan, itu adalah apabila anda mempunyai otomatik yang lebih baik daripada doktor Hap dan Sampdol. Bagaimana kita akan memutuskan peringatan? Saya tidak tahu, saya tidak tahu apakah yang akan terjadi dalam masa itu. Itu pada kedua anda. Tapi, saya akan pergi ke sana nanti. You can use, try and test the tools, NCBO. Well, for this part, we will focus just on NCBO, so you can see how we approach it. But, at this point you are wondering, NCBO works through SSH, right? And most containers don't include SSH today. There is a CHR connection option, but there is no implementation as I've put, nobody has done it. It's probably also a really bad idea to mess around in the Docker folders. But still, this problem will be solved with 2.0. So, it adds a Docker connection. And this was merged 20 days ago, so it's still quite new. But it's still in Alpha, so you have to install and run NCBO from source primary. So instead of using SSH to connect to a running container, NCBO scripts will be executed using Docker etc. And inventory host names will map to your Docker container names. So you can do things like static container inventory. So instead of say, as simple connection goes local, you can say host.doctor. Or you can do app.container.eventory. You spin on container and then you just run app.host command. Then you can target it as a regular host. Updating images, then you can run the playbook. So it's just a regular playbook. And then it's just specify connection is Docker. Then pre-task. In this is just how you organize your playbook. You can organize it this way. The pre, you start the base container. And then you'll do quite well. You want to pre-update, open as a self, for example. Then after that, you commit it to an image. How do you restore? You put it in your post-task. In your post. So after you have committed it, then you restart the service. Or that can be a separate build. Oh, this is like an example. This one just updates the image itself. For restarting the containers, you can have a different playbook, for example. Oh my God. So, it's something to note. All operators are saved as a single image layer. But if we're smaller base images, this isn't such a big deal. So, and you also need Python to actually run as a sable. So you will add 30MB to your base image size. So this may be a show software. And that's configuration drift. Since now your image is actually different from your Dockerfile. So eventually, you need to reconcile. But if you can update images as sable, why not create them as sable? Oh no. So you start the base container, it's basically the same thing. So you just start out with base container that has Python installed. And you show the role as you are updating OpenSSL, right? Ya, the role itself will contain tasks. Ya, of course. You can do whatever, right? But when you update OpenSSL, do you know what version you're installing? Ya, tell me. That will be part of your task. The task you can say, first, find out the current installed version of OpenSSL. If it's not fitting a certain version, then you say, okay, then install. Then you do file. Ya, the argument for using this was that we don't know what the version inside is, right? And then how does Ansible tell you which version you're going to install? Because you are doing latest, right? Ya, then that's up to you to script. When I say you want to specify, okay, this is the version I want. Then it goes into each container and then says it checks the current version and then installs if it's different or it's too old. I didn't also have an important update. But right now, for me, the latest from other Ansible that I have used, there's still that you actually don't know what version it is. You just know it's the latest of what OS is installing, right? Ya, that's up to you also. If you just use a package manager, install the latest one. But if you build it from source, that's different. So, for some alternative solutions, if you don't use Ansible 2, there's DrFold, which is even a more manual version request. With Ansible Play with that package, DrFold dumps the Playbook to child scripts. It drops them onto the container and then it uses them. Ya, same as previous. And that's also Hector. So, this is a tool from the same people who brought in vagrants. It's a machine image reader and it can output docker images and this ability since a long time ago actually. And it has support for provisioners or this Ansible Share Papa and so on. Although it doesn't support an additional image metadata, so you still have to specify them with run-out links. So, that's the one thing it doesn't support yet. And this is an example it just uses regular JSON. So, the output is actually a tab so you have to use docker import to put it into your registry. There are docker images. There are different considerations depending on the different environments and different architectures. So, define your base images whether you want a single process or you want to run multiple processes with an innate system. So, during the development stage you will have development image with all the built tools with bi-mounted source code or you can separate isolate your development image into a builder image. With the source code inside or you can separate them into single processing images with links or other ways to communicate between containers. So, how our workflow has evolved? So, we start out with simple docker farms which is nice but the thing is people think they are simple because all this time they have been building relatively simple applications they have septicators then it gets really big. Now, you have to separate your docker commands into shell scripts then you have to mount them and then you have to run build processes and so on. So, it gets really complicated. So, why not replace them with configuration management for factor structure, reusability and maintainability? So, that's something you can consider. Just because your dockerfiles doesn't mean you have to throw away all the knowledge you have for configuration management and actually I expect to shift away from complex dockerfiles as people start dockerizing more and more complex applications due to maintainability and security concerns. Right now, there's a lot of images on dockerhub that are not very well maintained and we can achieve some kind of happy balance if we make use of this configuration management tools. So, that's it. Thank you very much. You think Alpine production? Yes, I am. Actually, there's something and there's some things to know if you use Alpine. Right now, there's one big problem because Alpine the DNS resolution is problematic. It's actually broken as some people like to say. So, some people have workarounds that use some DNS mask inside the container itself or that actually install GVC. It's a bit primitive. It doesn't support search domain for example. So, it's a bit primitive. I don't know much about it but I know in these problems people will try to use things like console. We need to have workarounds. How do you feel basically to build dover file? Wouldn't it be more accessible to have, for example, you import everything to git and you just mount it and basically you build the container directly without building script because you mount as in you mount it on git. For example, you take the same application it's PHP application from GitHub. So, you git it in your local PC and you just you create it and then you directly you don't need to build it because you can build directly. Or you can use host machine to build it first? Yeah, you can do that as well. Yeah, but it depends on individual developer who will put all the built tools on your machine or maybe it's maybe a straight example but maybe there are conflicts between different versions of development environment different versions of same location as, for example. So, what's the benefit for building in the container? Like doing all the building I assume testing with running script generating in the docker container. It's something I didn't touch on but once you have this in place that means everything is perfectly portable. That means now instead of building or container now you can flow it to, let's say, some kind of continuous integration server. So, basically now you have the tools to build your application basically anywhere. Alright, yeah. The only thing that all these days that you show just now is an attempt to train containers of virtual machines. So, like, it's an attempt to bring the old practices that work for virtual machines until you paradigm of containers the only thing that's what it is? Well, that's you don't that's arguable. I mean you still have the you're still like wait. I mean you're still you're just running multiple processes. You just want to actually container actually everything and you don't need to use docker or any docker files or portals. I think it's just a way to build an image different. It's just a metal organization actually. So, I mean you're still isolating your dependencies. So, it's I guess it makes something possible, for example how do you solve the problem of having C-slot inside the container? You still have to run both processes at the same time. So, yeah. I'm not talking about running multiple processes at the same time. I'm talking about trying to upgrade an existing container instead of redoing isn't this an approach that works for virtual machines and the approach that is not suitable for containers? It's immutable. Oh, yeah, yeah. Well, in this case, it doesn't scale that and the issue is that we kind of lose that bad fit of containers which gives us same reproducible exactly same for environment development, testing, staging and production. Exactly. Yeah, that's one thing. So, it depends on your needs. Like if you say if it's an emergency security patch for example and then all your container takes a while or maybe this can be a stop-get measure but I mean this doesn't necessarily just apply to auditing whether by just show you how to create a container so you can still apply the principle of invitability so this is just a tool to help you structure a coop so it's not just necessarily for operations. So do you sposh your images after the whole ansible thing? Yeah, you sposh, sposh, sposh I think you get it of the layers and that's up to the developer I guess. I mean we've if you squash them basically I'm merging all the layers Yes. So because if you're using a small base image in the first place then we didn't make I mean if it's small image then I mean if you define the base image that's small and then after that you create several containers for different services or for different applications usually those containers don't share too much of their layers in the space so whether you define incremental layers or whether it's crushed into a single layer it's small anyway I'm sorry. Well I also just found it weird how you want to reuse Ansible and public skills no one wants to have a developer who doesn't who has good taste and doesn't like Ansible and public and has never touched such bullshit in their lives and comes into your team and you can't do it unless there's more Well, some people like that I've showed scripts I guess the show I've been a programmer for at least a year I've been I've had a not very long career but I can tell you man show scripts have always going to be that always going to be that I don't see how it's ever going to change especially when it's like bullshit like Ruby and Pearl it's like that I've come a long way to try and fix it and not buy it and everything do it very badly Well, for something that's a new process you're probably not going to put into Ansible If I see someone who's not using Shell on their command line then I might be then you can prove me wrong I've never seen that so let's move on to the sort of thing Shell is the base of every dead-off person must know Okay, that's one of your points Go to container and update or the per-container basis that just strikes me as Ya, it's probably because if you have 100 containers for instance and you want to update all of them then how can you ensure that update will be applied like constantly throughout all these types of containers or its current containers Well, Ansible is poor actually so Right, but what you can do is just build an image with the update and then push the update as a layer to all of the containers then for sure that you know that all these all these other containers are running same containers Ya, I mean that's better if you're running the same containers everywhere then that's probably more effective so ya it highly depends on the use case I was just going to say this is probably a stupid question but if you want to we build I only usually run a couple of Docker images which are unique and when I upgrade them it's usually quite simple but a lot a lot of Docker images how do people or automatically like you know say you like you do get push of your Docker image and all your containers to to basically rebuild themselves and shut down or what's the what's the what's the solution for that new Cn new Cn new Cn new Cn there are a lot of solutions for that so What is the Cn new Cn it's drawn what do you do in the folder it's a Docker A or is it like like a standard operating, ya or you guys you guys or is it like ya, we usually you you you compare to 2 you UCI Skip the pattern cn cn then cnc i Jangan tanya saya. Jangan bercanda, saya tahu. Jangan bercanda. Jadi, saya mempunyai dua jenis. Dan saya sepenuhnya nak berbunuh dengan kita. Bila anda memperkenalkan bahagian terbaik untuk memperkenalkan bahagian, saya sepatutnya sebab bukan bahagian yang untuk dibuat dengan bahagian yang akan dilakukan dalam bahagian. Ia sebab mempunyai bahagian yang baru untuk memperkenalkan bahagian. Dan setelah mempunyai bahagian yang sudah dibuat, anda akan memperkenalkan.wwww It's a really different building. You're all suspicious? It looks like something from the 90s. It's a bit.. Discosism. I mean it looks a lot like Discosism, yes. It's a very discos. Discos, I think I checked it out with the billion minds of Kobe. And I tweeted at Coding Horus Dan lalu dia cakap sesuatu yang berlaku dengan saya. Mungkin anda boleh beritahu saya, bagaimana anda memakai kota, apabila anda mahu membuat perlukan baru? Apabila anda memakai perlukan baru, anda memakai perlukan yang berlaku? Oh, maksud saya, dalam perlukan? Ya, kita lihat, masyarakat anda mempunyai perlukan baru, dan anda mahu memakai perlukan baru. Dalam perlukan baru, kita freshwater dash, berlaku dalam kontainan yang Raoriss tersebar. Dan melasak kontainan yang nampak swear. Jadi nampak kontainan yangний, nampak source. Dan kitaictingososkan kontainan dari kora untuk surprising morg Maurizio. Jadi kita simplysterkan Mora gila,시간 atau botong JAY. Kamu ada live update untuk mengeluarkan servis sekarang? Ya Bagaimana kamu tahu yang Alpine telah mengubah paket keperluan? Atau Adenbian ada keperluan keperluan? Kenapa kamu tahu? Bagaimana kamu tahu? Ada sesuatu yang sebenarnya... Oh, kamu tahu? Ya, tapi bukan seperti... Kamu tak boleh berubah keperluan, tapi kamu akan membuat itu. Dan ia akan mudah dibuat. Tapi itu untuk setiap masa. Mungkin kamu hanya mahu mengubah apabila ada keperluan keperluan. Bagaimana lama kamu akan membuat set semuanya? Bagaimana kamu akan membuat semuanya? Bagaimana kamu akan membuat semuanya? Bagaimana kamu akan membuat semuanya? Untuk projek projek ini bio. Harapan berlain beberapa seurat tying jawapan. Dan saya cuma membeli beberapa masa untuk dapatkan ARrena millenang berjaya. Kerana jika kamu membeli advisorahainya pada t Oft Set mirac Pada masa yang anda berkira, jika anda mempunyai kebanyakan kecil, ia berhubung dengan kecil dalam segi jalan. Jika anda mempunyai kemari, anda boleh memilih kemari. Ya, anda boleh. Bersaulah anda mengalih kemari apabila anda mengadakan kemari. Dan anda menggunakan kemari untuk menggunakan kemari untuk menggunakan kemari. Sama ada sebuah penjaja yang menyebutkan kepercayaan. Sama ada sebuah penjaja yang menyebutkan kepercayaan. Ia adalah sebuah penjaja yang menyebutkan kepercayaan. Terima kasih. Terima kasih.