好的,以下是一份Docker使用学习笔记的Markdown文档:

Docker 使用学习笔记

概述

Docker 是一种轻量级容器技术,可以方便地打包、部署、运行应用程序。通过 Docker,你可以将应用程序及其所有依赖项打包到一个容器中,然后将该容器部署到任何支持 Docker 的机器上,而无需担心在不同环境中应用的兼容性问题。

安装 Docker

要安装 Docker,可以参考官方文档进行操作。对于 Ubuntu 系统,可以按以下步骤进行安装:

  1. 更新系统:sudo apt-get update
  2. 安装必要的依赖项:sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
  3. 添加 Docker GPG 密钥:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  4. 添加 Docker APT 仓库:echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  5. 更新 APT 软件包索引:sudo apt-get update
  6. 安装 Docker:sudo apt-get install -y docker-ce docker-ce-cli containerd.io
  7. 启动 Docker 服务:sudo systemctl start docker

使用 Docker

运行容器

要运行一个 Docker 容器,可以使用 docker run 命令。例如,以下命令将在容器中启动一个名为 my-nginx-container 的 Nginx Web 服务器:

Copy Code
docker run -d --name my-nginx-container -p 8080:80 nginx

其中 -d 参数表示将容器运行在后台模式,--name 参数指定容器名称,-p 参数将容器端口映射到主机端口,nginx 是要运行的镜像名称。

查看容器

要查看正在运行的 Docker 容器,可以使用 docker ps 命令。例如,以下命令将显示所有正在运行的容器:

Copy Code
docker ps

停止容器

要停止某个正在运行的 Docker 容器,可以使用 docker stop 命令。例如,以下命令将停止名为 my-nginx-container 的容器:

Copy Code
docker stop my-nginx-container

删除容器

要删除某个已经停止的 Docker 容器,可以使用 docker rm 命令。例如,以下命令将删除名为 my-nginx-container 的容器:

Copy Code
docker rm my-nginx-container

实例

假设我们有一个 Node.js 应用程序,要在 Docker 中运行该应用程序,可以按以下步骤操作:

  1. 编写 Dockerfile:
Copy Code
FROM node:14 WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 8080 CMD [ "npm", "start" ]

其中 FROM 表示基础镜像使用的是 Node.js 的官方版本,WORKDIR 设置工作目录,COPY 拷贝文件到容器中,RUN 执行命令,EXPOSE 暴露端口,CMD 定义容器启动后执行的命令。

  1. 构建 Docker 镜像:
Copy Code
docker build -t my-node-app .

其中 -t 参数指定镜像名称,. 表示 Dockerfile 所在路径。

  1. 运行 Docker 容器:
Copy Code
docker run -d --name my-node-container -p 8080:8080 my-node-app

其中 -p 参数将容器端口映射到主机端口,my-node-app 是我们刚才构建的镜像名称。

  1. 访问应用程序:

在浏览器中访问 http://localhost:8080,即可看到我们的 Node.js 应用程序正在 Docker 中运行。

以上就是一个简单的 Docker 实例。通过 Docker,我们可以方便地打包、部署、运行应用程序,同时还可以提高应用程序在不同环境中的兼容性和移植性。