docker What should I do first? (Somehow I understand the shell, but ... for beginners at the level)

・ The beginning of things

We are doing emotional Sith (second year paper). When I performed text analysis with python, I had a problem that I didn't understand because I installed too many libraries with pip and conda. Originally, I was actively collecting information in the ML area, and I often saw the word docker, but At this point, we finally understand the importance of utilizing containers.

・ Conclusion

Even if you don't understand well, let's learn container technology first.

・ What is a container?

It is an image of starting a PC roughly inside the PC (virtualization and genre are the same). When I was young: "If you put a PC in your PC, you won't know where the files are ..." Now: "I don't know why, I want to be able to cut it off immediately even if it has an adverse effect."

so, Using a container = It's the same as a person who has trouble washing dishes puts plastic wrap on the dishes and throws them away after eating. Besides that, the host OS can be used as it is (difference from virtualization technology), etc. It seems that there are various merits, but I do not know the era of the heyday of virtualization, so To be honest, I don't know how it's getting better (explosion).

So, in the first place, what kind of historical background is virtualization / containerization being used? It is said that it was created to equalize the differences in the development environment between users.

I will finally return to the beginning of this, but python also depends on the version It seems that the libraries that can be used (= something like the excel function) are different. Of course, I have customized my personal computer for myself, It is a must when considering sharing with others and the transition from development environment to production environment. If you compare it to a recent game, it's like playing a game on PS4 and PS5 using the same save data. Thank you for this.

Initially it is only useful for system testing between teams, so for information systems that are not in a position to write crisp code I thought it wasn't necessary. However, as mentioned above, it is useful even if you are alone. It's a concept like CI/CD on the server side (I'm sorry if I say it properly).

・ So what should I do hands-on?

For now, follow ⇓ to learn how to start and stop docker containers. https://tech-lab.sios.jp/archives/19073

As a point I was addicted to personally, ・ Image and run are different. The image is just on the desktop. run is in the state where the software is running. -Sudo could not be executed. Assuming that it is not an administrator account. -Don't confuse the imageID and container ID as they are different.

・ At the end

This is the place. It's not a big deal, so it's a pace for beginners, but It will come for the purpose of continuous output, so please feel free to comment or throw it.

Recommended Posts

docker What should I do first? (Somehow I understand the shell, but ... for beginners at the level)
I tried using Docker for the first time
I tried touching Docker for the first time
What should I do to reload the updated Dockerfile?
What should I use for the testing framework [Rails]
I think I understand the reuse of cells, but I don't understand at all.
What to do if you should have installed Rails but an error occurs with rails -v (for beginners)
[Java] What should I use for writing files?
Do not give jsessionid at the first access
Android Studio development for the first time (for beginners)
[Android studio / Java] What you don't understand when you touch it for the first time