Docker 一小时从入门到实战 —— Docker commands | Create your own image | vs VM ... 基本概念扫盲

Docker crash course

文章目录

  • [Docker crash course](#Docker crash course)
  • [1. What and Why of Docker?](#1. What and Why of Docker?)
    • [2.1 What](#2.1 What)
    • [2.2 What problem does it solve?](#2.2 What problem does it solve?)
      • [2.2.1 before containers](#2.2.1 before containers)
      • [2.1.2 with containers](#2.1.2 with containers)
  • [2. Docker vs Virtual Machines](#2. Docker vs Virtual Machines)
    • [2.1 Difference](#2.1 Difference)
    • [2.2 Benefits](#2.2 Benefits)
  • [3. Install docker locally](#3. Install docker locally)
  • [4. Images vs Containers](#4. Images vs Containers)
  • [5. Public and Private Registries](#5. Public and Private Registries)
  • [6. Main Docker commands - pull,run,start,stop,logs,build](#6. Main Docker commands - pull,run,start,stop,logs,build)
    • [6.1 pull & run](#6.1 pull & run)
    • [6.2 start & stop](#6.2 start & stop)
  • [7. Public and private Docker registries](#7. Public and private Docker registries)
  • [8. Registry vs Repository](#8. Registry vs Repository)
  • [9. Create own image (Dockerfile)](#9. Create own image (Dockerfile))
    • [9.1 Dockerfile - Build instruction](#9.1 Dockerfile - Build instruction)
    • [9.2 Build image](#9.2 Build image)
    • [9.3 Run as Docker container](#9.3 Run as Docker container)
    • [9.4 Docker UI Client](#9.4 Docker UI Client)
  • [10. Image Versioning](#10. Image Versioning)
  • [11. Docker Compose](#11. Docker Compose)
  • [12. Docker Workflow Big Picture](#12. Docker Workflow Big Picture)

1. What and Why of Docker?

2.1 What

2.2 What problem does it solve?

2.2.1 before containers

Development process before containers? If your app uses 10 services, each developer needs to install these 10 services.

Development process:

  • Installations and configurations done directly on server's OS
  • Dependency version conflicts etc.

2.1.2 with containers

Development process with containers? Standardizes process of running any services on any local dev environment.

Development process:

  • Install Docker runtime on the server
  • Run Docker command to fetch and run Docker artifacts.

2. Docker vs Virtual Machines

2.1 Difference

docker

  • contains the OS application layer - vertualize complete OS
  • services and apps installed on top that layer

2.2 Benefits

  • most containers are Linux based
  • Originally built for Linux OS

upgrade --

3. Install docker locally

4. Images vs Containers

bash 复制代码
	docker images
	docker ps = list running contaniers 

5. Public and Private Registries

How do we get these images?

6. Main Docker commands - pull,run,start,stop,logs,build

6.1 pull & run

Pull Docker Hub registry (docker.io) is used by default.

bash 复制代码
	docker pull {name}:{tag} = Pull an image from a registry
	docker images

Run

bash 复制代码
	docker run {name}:{tag} = creates a container from given images and starts it
	docker ps
  • docker generates a random name for the container automatically if you don't specify one
  • docker pulls image automatically, if it doesn't find it locally.
bash 复制代码
	docker -d = runs container in background and prints the container ID

you may still want to see the logs,which can be useful for debugging etc.

bash 复制代码
	docker logs {container} = view logs from service running inside the container.

give a name --name

bash 复制代码
docker run --name web-app -d -p 9000:80 nginx:1.23

Port Binding

localhost:80 cannot be reached

only run with additional tag:

bash 复制代码
	docker stop {container} = stop one or more running containers
bash 复制代码
	-p or --publish = pubish a container's port to the host
	-p {HOST_PORT}:{CONTAINER_PORT}

all in all

bash 复制代码
	docker run -d -p 9000:80 niginx:1.23

6.2 start & stop

docker ps only list the running containers. To list all containers (stopped and running) by using flag -a or --all

bash 复制代码
docker ps -a

stop

bash 复制代码
docker stop {containerID}

start

复制代码
docker start {containerID} = start one or more stopped containers

logs

复制代码
docker logs {containerID/NAME}

7. Public and private Docker registries

8. Registry vs Repository

9. Create own image (Dockerfile)

9.1 Dockerfile - Build instruction

bash 复制代码
	CMD ["node", "server.js"]

9.2 Build image

bash 复制代码
	docker build {path} = Builds a Docker image from a Dockerfile

Sets a name and optionally a tag in the "name:tag" format

bash 复制代码
	docker build -t node-app:1.0 .

9.3 Run as Docker container

9.4 Docker UI Client

10. Image Versioning

"latest" tag mostly refers to the newest release.

11. Docker Compose

12. Docker Workflow Big Picture

How Docker fits in the complete development and development process?

相关推荐
tjsoft3 分钟前
专栏丨华为HN8145XR光猫获取超级管理员密码
运维·服务器·网络
kfepiza19 分钟前
`modprobe`命令 与 `KVM`模块 笔记251006
linux·笔记
数智顾问1 小时前
探索 Docker/K8s 部署 MySQL 的创新实践与优化技巧——高可用与性能调优进阶
docker
小秋学嵌入式-不读研版1 小时前
C56-字符串拷贝函数strcpy与strnpy
c语言·开发语言·笔记
yuezhilangniao1 小时前
基础架构安全和云原生安全的融合~K8S安全和传统安全~K8S和安全融合~综合安全大饼
安全·云原生·kubernetes
荣光波比3 小时前
Docker(五)—— Docker Compose 一键搭建 LNMP 架构并部署 WordPress
运维·docker·容器·云计算
晨非辰4 小时前
《剑指Offer:单链表操作入门——从“头删”开始破解面试》
c语言·开发语言·数据结构·c++·笔记·算法·面试
悠哉悠哉愿意7 小时前
【ROS2学习笔记】 TF 坐标系
笔记·学习·ros2
古月-一个C++方向的小白8 小时前
Linux——查看与创建进程
linux·运维·服务器
唐僧洗头爱飘柔95279 小时前
【SpringCloud(2)】微服务注册中心:Eureka、Zookeeper;CAP分析;服务注册与服务发现;单机/集群部署Eureka;连接注册中心
spring cloud·微服务·zookeeper·eureka·服务发现·集群部署·服务注册