Docker是什么?用简单的语言解释Docker的基础知识

首先

有许多场景中使用 Docker 来共享开发环境。
当新手工程师进入现场时,我认为如果能理解 Docker,将能够顺利地开始工作。
关于 Docker的基础知识,我整理了非常简明扼要的概述,作为备忘录保留下来。

目录

    • Docker(ドッカー)とは

 

    • Dockerの機能と用語説明

 

    Dockerコマンド(基本)

Docker是一种技术。

20231018-Dockerのイメージ図.png

Docker功能及术语的解释

Docker 容器

所有代码和依赖关系被封装在一个类似于隔离环境的虚拟空间中,可以在不影响系统其他部分的情况下运行应用程序。

Docker镜像

在创建容器时指定的只读文件,该文件包含了运行应用程序所需的源代码、依赖关系和工具。

Dockerfile的意思是:

通过读取Dockerfile中的文本数据来构建Docker镜像,Docker镜像由组成。

FROM gradle:7.4.1-jdk11 AS builder

WORKDIR /tmp

COPY ./src ./src

COPY ./build.gradle .

RUN gradle build

FROM openjdk:11.0.14.1-oracle

COPY --from=builder /tmp/build/libs/app.jar /app/app.jar

EXPOSE 8080

Docker Compose – Docker集成工具

可以同时操作多个容器的工具。docker-compose.yml文件是Docker Compose的配置文件,用于描述多个容器之间的关系和环境变量等。

version: "3"
services:
  spring-boot:
    build:
      context: ./web-spring2
      dockerfile: Dockerfile
    ports:
      - "8080:8080"
    depends_on:
      mysql:
        condition: service_started
    entrypoint: "java -jar /app/app.jar"
    networks:
      - app-net
  mysql:
    build:
      context: ./mysql
      dockerfile: Dockerfile
    ports:
      - "3306:3306"
    volumes:
      - ./mysql/settings:/etc/mysql/conf.d/
      - ./mysql/data/:/var/lib/mysql/
    environment:
      MYSQL_DATABASE: study
      MYSQL_ROOT_PASSWORD: riku0456
    networks:
      - app-net
networks:
  app-net:
    driver: bridge

Docker桌面版

20231018-dockerDesktop.png

Docker Hub – Docker 仓库

20231018-DockerHub.png

Docker指令(基本)

建造

使用Dockerfile创建Docker镜像

docker image build [オプション] Dockerfileのパス

//例
docker image build -t imagename/nginx:latest .

[-t] 指定镜像名称和标签的选项

跑步

使用Docker镜像来启动(创建)Docker容器。

docker container run [オプション] imagename

//例
docker container run --name containername -d -p 8080:80 imagename

[–name] 用于指定容器名称的选项
[-d] 用于在后台运行容器的选项
[-p] 用于将容器端口与服务器端口进行绑定的选项

开始

启动已创建完成(停止中)的容器。

docker container start [オプション] containername

//例
docker container start containername
停止

停止Docker容器

docker container stop [オプション] containername

//例
docker container stop containername
移除

删除停止中的容器

docker container rm [オプション] containername

//例
docker container rm containername

即使容器正在运行中也可以删除

重新启动

重新启动容器

docker container restart [オプション] containername

//例
docker container restart containername
执行

在正在运行的容器内执行命令。

docker container exec [オプション] containername コマンド

//例
docker container exec -it containername bash

将容器端的命令输入输出迁移到本地终端上。

请参考下面的网站

 

最终 的最后

在这篇文章中,我试图简单明了地解释了Docker的基本概念。
Docker是一个强大的工具,可以共享开发环境并顺利地运行应用程序,所以使用它非常方便。
我希望下次可以发布一篇关于如何实际使用Docker的文章!

bannerAds