Today’s May Day out the number of people is really much ah, the major scenic spots are crowded burst. And I, yes, didn’t go out with my girlfriend, but stayed up at home to fight, don’t think of [dog head], just to record the Docker teaching video for everyone, this tutorial really long.

** originally didn’t want to post this as an article, ** because I look a bit like an advertisement, but, however, in order to make friends, especially those who are still in school, I decided to write this article.

Before, some friends read Docker’s articles, but it was difficult to read them without practice. Therefore, I made this teaching video for you with the determination that I would not even give up my girlfriend.

After that, I also want to record Git, DB, Redis cache, Nginx and other content for you. If you like, continue to follow up the dynamic bar.

The current video has launched www.bilibili.com/video/BV1BK… , like friends can help themselves, the following is a mind map, which contains ** ** access.

Docker introduction

Docker still needs an introduction, guys. Well, let’s give you an introduction.

Docker is an open source application container engine that allows developers to package their applications and dependencies into a portable image that can then be distributed to any popular Linux or Windows machine, as well as virtualization. Containers are completely sandboxed and have no interface with each other.

Docker is a popular virtualization container technology at present. For example, our company is also like this: Each service is deployed in a separate container, so that each service has its own operating environment, which isolates multiple services. This isolation does not mean that services cannot communicate with each other, but can communicate with each other on the network.

The advantages of the Docker

  • In this article, I will only introduce the advantages of Docker, but I will not introduce the disadvantages. If you come to the scene, you can put the disadvantages of Docker in the comments section.
  • ① Provide a simple and lightweight modeling method:
    • Docker is very fast to get started. Users only need a few minutes to “docker-like” their programs. Docker relies on a copy-on-write model that allows applications to change very quickly, so to speak.
    • You can then create containers to run the application. Most Docker containers take less than a second to start. Due to the removal of the overhead of the hypervisor, Docker container has high performance. At the same time, more containers can be run in the same host, so that users can make full use of system resources as much as possible.
  • ② Logical separation of responsibilities:
    • With Docker, developers only care about the applications running in the container, and operations only care about managing the container.
    • Docker is designed to enhance the consistency between the development environment where developers write code and the production environment where applications are deployed. This reduces the sort of “everything is fine at development time, it must be an operations problem.
  • ③ Fast and efficient development life cycle:
    • One of the goals of Docker is to shorten the cycle of code development, testing, deployment, and up-and-running, making your applications portable, easy to build, and easy to collaborate with.
  • ④ Encourage the use of service-oriented architectures:
    • Docker also encourages service-oriented architectures and microservices architectures.
    • Docker only recommend a single container run an application or process, thus forming a distributed application model, in this model, the application or service can be expressed as a series of internal interconnection container, so that the distributed application deployment, extend or debugging applications have become very simple, It also improves the introspection of the program.

For container management, the current more popular is Kubernetes (commonly known as K8S), K8S to the container as a unit for scheduling.

  • Kubernetes, or K8s for short, is an abbreviation of “ubernete” with 8 characters instead of 8. Kubernetes is an open source, used to manage containerized applications on multiple hosts in the cloud platform. The goal of Kubernetes is to make the deployment of containerized applications simple and powerful. Kubernetes provides a mechanism for application deployment, planning, updating and maintenance.
  • The traditional way to deploy applications is to install applications through plug-ins or scripts. The disadvantages of this method are that the operation, configuration, management, and life cycle of applications are bound to the current operating system, which is not conducive to the upgrade, update, or rollback of applications. Of course, you can also create VMS to implement certain functions, but VMS are very heavy, which is not conducive to portability.
  • The new approach is implemented through the deployment of containers, each container isolated from each other, each container has its own file system, processes between containers do not affect each other, can distinguish computing resources. Compared to virtual machines, containers can be deployed quickly. Because containers are decoupled from the underlying infrastructure and machine file systems, they can be migrated between different clouds and operating systems of different versions.

Learn some of the preconditions of Docker

  • Contact with Linux, do not require proficiency, will use the line, can understand some basic concepts of Linux.
  • I don’t need the rest of the code. I don’t need you to understand the code in this video. I’m just going to show you how to use Docker. =

Tutorials contain content

  • Introductory article:
    • Docker introduction
    • Install Docker on Linux
    • Play With Docker
  • Basic article:
    • Docker daemons: concept, start, close, restart, configure, etc……
    • Docker containers: Introduce, create, start, view, etc……
    • Docker images: Create, view, pull, find, mirror tags, and more……
    • Docker Hub repository: image construction, Docker Hub registration, image push, pull, etc……
    • Dockerfile directives: FROM directives, MAINTRINER, EXPOSE, RUN, etc……
    • Docker container connection communication methods: Docker network connection, Docker Networking, Docker links, and so on……
    • Docker API: Registry API, Docker Hub API, Docker Remote API
    • There are also other topics, such as “volume”, “container backup”, etc., which are covered in the following chapter
  • Practical article:
    • Use Docker to build Nginx static website
    • Sinatra Web application with Docker
    • Apache+Jekyll with Docker
    • Practice 4: Continuous integration testing with Docker and Jenkins
    • Building a Java Tomcat server using Docker

Document acquisition

There are two ways to get information from the video:

  • One is to reply directly to the official account.
  • Another kind, to the public inside click [notes white whoring] button

Recommended books

There are not many Docker books at present. I have read only one Docker book before. Look below, the author of this book is written by a member of Docker’s core team, which is relatively authoritative.

It may be a little difficult to read this book at the beginning, but it will be better if you build the Docker first and gradually contact it.

Book.douban.com/subject/262…

The official website

* docs.docker.com/: Docker official document contains a lot of content, you can choose to view after entering.

Mirror sites

  • hub.docker.com/
  • Dockerhub is a repository similar to Github. Github stores source code and documents, while DockerHub stores images, because Docker containers are run based on images.
  • After entering dockerHub, first register an account, and then you can search, pull, push images and other operations.
  • For example, let’s search for Ubuntu related images

Video link

www.bilibili.com/video/BV1BK…

Still warm, is continuously updated, can first look, video content is a lot of.

The last

Dong has always had a teacher dream, feel recording video very enjoy, if you don’t like or think I am an advertisement please screen or comment area spray me [dog head].

In addition, thanks to all the people who accompany me on the way of programming.