好的,以下是一份Docker使用学习笔记的Markdown文档:
Docker 使用学习笔记
概述
Docker 是一种轻量级容器技术,可以方便地打包、部署、运行应用程序。通过 Docker,你可以将应用程序及其所有依赖项打包到一个容器中,然后将该容器部署到任何支持 Docker 的机器上,而无需担心在不同环境中应用的兼容性问题。
安装 Docker
要安装 Docker,可以参考官方文档进行操作。对于 Ubuntu 系统,可以按以下步骤进行安装:
- 更新系统:
sudo apt-get update
- 安装必要的依赖项:
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
- 添加 Docker GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- 添加 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
- 更新 APT 软件包索引:
sudo apt-get update
- 安装 Docker:
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
- 启动 Docker 服务:
sudo systemctl start docker
使用 Docker
运行容器
要运行一个 Docker 容器,可以使用 docker run
命令。例如,以下命令将在容器中启动一个名为 my-nginx-container
的 Nginx Web 服务器:
Copy Codedocker run -d --name my-nginx-container -p 8080:80 nginx
其中 -d
参数表示将容器运行在后台模式,--name
参数指定容器名称,-p
参数将容器端口映射到主机端口,nginx
是要运行的镜像名称。
查看容器
要查看正在运行的 Docker 容器,可以使用 docker ps
命令。例如,以下命令将显示所有正在运行的容器:
Copy Codedocker ps
停止容器
要停止某个正在运行的 Docker 容器,可以使用 docker stop
命令。例如,以下命令将停止名为 my-nginx-container
的容器:
Copy Codedocker stop my-nginx-container
删除容器
要删除某个已经停止的 Docker 容器,可以使用 docker rm
命令。例如,以下命令将删除名为 my-nginx-container
的容器:
Copy Codedocker rm my-nginx-container
实例
假设我们有一个 Node.js 应用程序,要在 Docker 中运行该应用程序,可以按以下步骤操作:
- 编写 Dockerfile:
Copy CodeFROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]
其中 FROM
表示基础镜像使用的是 Node.js 的官方版本,WORKDIR
设置工作目录,COPY
拷贝文件到容器中,RUN
执行命令,EXPOSE
暴露端口,CMD
定义容器启动后执行的命令。
- 构建 Docker 镜像:
Copy Codedocker build -t my-node-app .
其中 -t
参数指定镜像名称,.
表示 Dockerfile 所在路径。
- 运行 Docker 容器:
Copy Codedocker run -d --name my-node-container -p 8080:8080 my-node-app
其中 -p
参数将容器端口映射到主机端口,my-node-app
是我们刚才构建的镜像名称。
- 访问应用程序:
在浏览器中访问 http://localhost:8080
,即可看到我们的 Node.js 应用程序正在 Docker 中运行。
以上就是一个简单的 Docker 实例。通过 Docker,我们可以方便地打包、部署、运行应用程序,同时还可以提高应用程序在不同环境中的兼容性和移植性。