📜  学习Docker教程(1)

📅  最后修改于: 2023-12-03 15:09:22.771000             🧑  作者: Mango

学习Docker教程

什么是Docker?

Docker是一种容器化技术,用于在不同的计算机上运行应用程序,使应用程序在不同的环境下始终保持一致的运行状态。Docker可以让开发者打包应用程序及其依赖,以便在任何地方运行,使开发者可以更轻松地部署、更新和扩展应用程序。

Docker术语
  • 镜像(Image): Docker容器的基础,可以理解为类似于面向对象编程中的类。
  • 容器(Container): Docker镜像的一个可运行实例,类似于面向对象编程中的对象。
  • 仓库(Repository): 存储Docker镜像的地方,可存放自己创建的镜像或从其他仓库中下载的镜像。
Docker安装
Windows
  • 在Windows 10 Pro以上版本的操作系统上,可通过Docker Desktop安装,下载地址 https://www.docker.com/products/docker-desktop
  • 在Windows 10 Home及以下版本操作系统上,可通过Docker Toolbox安装,下载地址 https://docs.docker.com/toolbox/toolbox_install_windows/
MacOS

通过Docker Desktop安装,下载地址 https://www.docker.com/products/docker-desktop

Linux

根据不同的Linux发行版选择不同的安装方式,具体教程可参见官方文档 https://docs.docker.com/engine/install/

Docker使用
获取镜像

使用Docker命令从仓库中获取镜像,如下所示:

$ docker pull [OPTIONS] NAME[:TAG|@DIGEST]

其中OPTIONS为可选参数,NAME为镜像名,TAG为镜像版本。

例如获取最新版本的Ubuntu镜像,可使用以下命令:

$ docker pull ubuntu
运行容器

使用Docker命令来运行容器,如下所示:

$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

其中OPTIONS为可选参数,包括端口映射、容器名称、环境变量等等。IMAGE为要运行的镜像,COMMANDARG为容器的启动命令和其它参数。

例如运行一个带有交互式shell的Ubuntu镜像,可使用以下命令:

$ docker run -it ubuntu /bin/bash
查看运行中的容器

使用Docker命令来查看运行中的容器,如下所示:

$ docker ps [OPTIONS]

其中OPTIONS为可选参数,可以展示容器的详细信息。

例如展示正在运行的所有容器及其详细信息,可使用以下命令:

$ docker ps -a
停止和删除容器

使用Docker命令来停止和删除容器,如下所示:

$ docker stop [CONTAINER]

其中CONTAINER为容器ID或名称,可停止正在运行的容器。

$ docker rm [CONTAINER]

其中CONTAINER为容器ID或名称,可删除已停止的容器。

构建自己的镜像

使用Dockerfile来构建自己的镜像,如下所示:

# 基于Ubuntu镜像构建自己的镜像
FROM ubuntu

# 维护者信息
MAINTAINER yourname@yourcompany.com

# 安装必要的软件包
RUN apt-get update && \
    apt-get install -y yourpackage

# 设置环境变量
ENV YOUR_ENV_VARIABLE=your_value

# 运行命令
CMD ["your_command"]

其中FROM为基础镜像,MAINTAINER为镜像维护者信息,RUN为运行命令,ENV为设置环境变量,CMD为启动容器时默认运行的命令。

使用以下命令来构建镜像:

$ docker build [OPTIONS] PATH | URL | -

其中OPTIONS为可选参数,PATH为Dockerfile所在目录的路径或URL,-代表从标准输入中读取。

例如,在Dockerfile所在目录执行以下命令可创建镜像:

$ docker build -t myimage .
推送镜像到仓库

使用Docker命令来推送镜像到仓库,如下所示:

$ docker push [OPTIONS] NAME[:TAG]

其中OPTIONS为可选参数,NAMETAG为镜像的名称和版本。

例如推送myimage镜像到Docker Hub:

$ docker push myusername/myimage
总结

Docker是一种容器化技术,可以实现应用程序在不同环境下一致运行。Docker包含镜像、容器和仓库三个概念,安装Docker需要根据自己的操作系统选择不同的方式。使用Docker命令可以获取镜像、运行容器、查看运行中的容器、停止和删除容器、构建自己的镜像和推送镜像到仓库。