首页 > 其他分享 >Docker 入门教程

Docker 入门教程

时间:2024-08-20 11:26:33浏览次数:9  
标签:容器 image 入门教程 镜像 Docker todo docker

本文是官方Getting Starts教程的阅读笔记,包含对步骤、命令的记录和解释。

教程分一系列课程,包括有:

  1. 安装 Docker
  2. 运行容器和创建自定义容器
  3. 创建高效可复用的镜像,并推送到 Docker Hub 上

Get Docker Desktop

Docker Desktop 是简单易用的 Docker 工具软件,使用 Docker Desktop 可以快速上手,避免因为不熟悉命令而卡壳(对自己说:还在入门别老想着成才)。

下载很慢,安装很快,走出第一步比较顺利,运行 welcome-to-docker 镜像,其中命令行为:

docker run -d -p 8080:80 docker/welcome-to-docker

命令执行之后会下载镜像并创建运行中的容器。

Develop with containers

使用容器进行开发(疑问:写代码也在容器中?)

在这一节中,我们下载运行了一个 todo list 的 App。

App 的容器组成:

  • 前端:React dev server (Vite) 的 Node 容器
  • 后端:Node api
  • 数据库:MySQL
  • phpMyAdmin:数据库管理工具
  • Traefik proxy:应用代理,实现一个端口对外服务,按规则转发请求到后端,前端等。

操作步骤:

  1. git clone 或者下载压缩包解压;
  2. cd getting-started-todo-app
  3. docker compose watch watch步骤可以实现主机和容器文件自动同步,浏览器自动刷新

制作和发布镜像

What is an image/Dockerfile?

Without going too deep yet, think of a container image as a single package that contains everything needed to run a process. In this case, it will contain a Node environment, the backend code, and the compiled React code.

Any machine that runs a container using the image, will then be able to run the application as it was built without needing anything else pre-installed on the machine.

A Dockerfile is a text-based script that provides the instruction set on how to build the image. For this quick start, the repository already contains the Dockerfile.

命令

docker build -t DOCKER_USERNAME/getting-started-todo-app .
docker push DOCKER_USERNAME/getting-started-todo-app

制作和发布镜像过程很顺利,对于新手比较友好。自建镜像运行后使用 sqlite 数据库、监听3000端口,并能正常访问(数据库和代理配置先不看了)。

小结

本文说明了新手如何使用容器来开发应用的工作流程,可以作为入门练手教程。然而对于多容器应用、网络、卷都未涉及,打算之后阅读 Docker 概念篇时分别做一些记录和阐述。

标签:容器,image,入门教程,镜像,Docker,todo,docker
From: https://www.cnblogs.com/hexff/p/18363078/docker_getting_started

相关文章

  • Docker 入门文档阅读笔记
    Docker的架构图片来自Docker官网教程Docker采用CS架构,可以通过CLI和API与Dockerdaemon进行交互。DockerObjectsImages(镜像)Animageisaread-onlytemplatewithinstructionsforcreatingaDockercontainer.Often,animageisbasedonanotherima......
  • Docker概述
    DockerⅠ容器介绍1.什么是容器容器一词的英文是container,其实container还有集装箱的意思,集装箱绝对是商业史上了不起的一项发明,大大降低了海洋贸易运输成本。让我们来看看集装箱的好处:·集装箱之间相互隔离·长期反复使用·快速装载和卸载·规格标准,在港口和船上都可以......
  • Docker compose 部署前后端-----采用nginx代理,支持一个端口部署多个前端
    Dockercompose部署前后端-----采用nginx代理,支持一个端口部署多个前端1、Linux服务器安装最新版docker,确保有dockercompose命令2、创建docker工作区目录mkdirdocker-workspace3、进入docker工作区目录,创建前端nginx目录,创建后端xxx目录mkdirnginxxxx4、创建confi......
  • 在K8S中,Kubernetes与Docker有什么关系?
    Kubernetes和Docker都是现代云原生技术栈的重要组成部分,但它们各自解决的问题领域不同。下面详细介绍它们之间的关系以及区别:1.DockerDocker是一个流行的容器化平台,它允许开发者将应用程序及其依赖打包成一个轻量级、可移植的容器。这样做的好处包括:隔离性:每个容器都有自......
  • docker部署gitlab
    gitlab拉取镜像dockerpull创建挂载目录mkdirgitlabcdgitlabmkdir-pdata/logmkdir-pdata/optmkdir-pdata/etc启动容器dockerrun-itd-p8443:443-p8090:80-p8022:22--namegitlab-v$PWD/data/etc:/etc/gitlab-v$PWD/data/log:/var/log/gitlab-v......
  • Docker部署Java项目
    本文使用Dockerfile的形式进行Java项目的部署第一步:创建Dockerfile文件Dockerfile是用于创建Docker对象的脚本,先创建Dockerfile文件,以下为我的文件模版: FROM:java对应的jdk版本RUN: 在构建过程中执行命令,用于安装软件、配置环境等ENV:设置环境变量WORKDIR:指向构建镜像时使......
  • Docker不同宿主机网络打通
    本方式使用dockerSwarm集群的方式创建overlay网络进行打通背景因java微服务使用nacos做配置中心,为了解决Nacos服务注册使用Docker容器内网ip问题,使用此方案前置条件1、宿主机之间需要开通端口管理端口:2377/tcp:用于管理Swarm模式集群。这是SwarmManager和Worker......
  • Docker 容器中镜像导出/导入
    利用容器中镜像导出/导入创建一个简单的Docker镜像利用dockerps-a命令查看要导出的镜像。导出查看要导出的镜像[root@localhost~]#dockerps-adockerexport命令进行镜像导出。[root@localhost~]#dockerexport418ae>nginx-docker.tar导入[vipsoft@kafka1ho......
  • docker 创建MySQL
    dockerrun\      --restart=always\  #这个参数是mysql在docker启动的时候,也会跟着自动启动--namemysql8.0\   #这个参数是mysql容器的名字-p3306:3306\    #这个参数是端口号映射-eMYSQL_ROOT_PASSWORD=root\  #这个参数是是设......
  • python入门教程(非常详细!3w+ 文字)
    先序:学习编程语言要先学个轮廓,刚开始只用学核心的部分,一些细节、不常用的内容先放着,现用现查即可;把常用的东西弄熟练了在慢慢补充。1、安装Python解释器为什么需要安装PythonPython语言本身是由解释器执行的,因此你需要在你的计算机上安装Python解释器。这个解释器会将......