0


在Ubuntu 20.04上下载并使用Docker的详细步骤及示例

一、在Ubuntu 20.04上下载并使用Docker(详细步骤及示例)

本指南将详细介绍如何在Ubuntu 20.04系统上下载、安装和使用Docker,并通过一个简单的Web服务器示例演示其基本操作。

第一步:准备工作

  1. 更新系统软件包: 打开终端并执行以下命令,确保您的系统拥有最新的软件包:sudoapt updatesudoapt upgrade
  2. 卸载旧版本的Docker (如果存在): 为了避免潜在的冲突,建议先卸载旧版本的Docker(如果存在):sudoapt remove docker docker-engine docker.io containerd runc

第二步:安装Docker

  1. 安装Docker依赖项: Docker需要一些依赖项才能正常工作,使用以下命令安装它们:sudoaptinstall apt-transport-https ca-certificates curl gnupg lsb-release software-properties-common
  2. 添加Docker官方GPG密钥: 这是为了确保您下载的Docker软件包是官方正版且未被篡改:curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  3. 设置Docker稳定版存储库: 这告诉您的系统从哪里下载Docker软件包:echo\"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable"|sudotee /etc/apt/sources.list.d/docker.list > /dev/null
  4. 再次更新软件包并安装Docker Engine, CLI 和 Containerd:sudoapt updatesudoaptinstall docker-ce docker-ce-cli containerd.io docker-compose-plugin

第三步:验证Docker安装

  1. 运行Hello World容器: 这是验证Docker是否正确安装的标准方法:sudo docker run hello-world如果一切正常,您将看到一条消息,表明Docker能够下载并运行hello-world镜像。

第四步:(可选) 将用户添加到docker组

为了避免每次运行Docker命令都需要使用

sudo

,您可以将当前用户添加到

docker

组:

sudousermod -aG docker $USER

注意: 您需要注销并重新登录才能使更改生效。

第五步:(可选) 安装Docker Compose

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,如果您的项目需要管理多个容器,建议安装它:

sudoaptinstall docker-compose

第六步:实际示例 - 运行Nginx Web服务器

让我们通过一个简单的例子来演示如何使用Docker运行一个Nginx Web服务器:

  1. 下载Nginx镜像:docker pull nginx
  2. 运行Nginx容器:docker run -d -p 80:80 nginx 这个命令做了以下几件事:- -d: 在后台运行容器。- -p 80:80: 将容器的80端口映射到主机的80端口,这样您可以通过访问主机的80端口来访问Nginx服务器。- nginx: 指定要运行的镜像名称。
  3. 验证Nginx是否正在运行: 打开浏览器并访问http://localhost,您应该可以看到Nginx的默认欢迎页面。

第七步:常用Docker命令

以下是一些常用的Docker命令:

  • 查看正在运行的容器:docker ps
  • 查看所有容器 (包括已停止的):docker ps -a
  • 停止容器:docker stop <容器ID或名称>
  • 删除容器:docker rm <容器ID或名称>
  • 查看本地镜像:docker images
  • 从Docker Hub下载镜像:docker pull <镜像名称>
  • 构建镜像:docker build -t <镜像名称> .
  • 将镜像上传到Docker Hub:docker push <镜像名称>

第八步:继续学习

Docker是一个功能强大的工具,还有很多东西需要学习。以下是一些学习资源:

二、举例说明将包含Conda环境的应用程序打包成Docker镜像

以下是如何将一个新的Conda环境以及您的应用程序打包成Docker镜像的步骤:

1. 创建Conda环境并安装依赖

首先,在您的本地机器上创建一个新的Conda环境,并安装应用程序所需的依赖项。

conda create -n myenv python=3.9
conda activate myenv
conda install -c conda-forge <您的应用程序依赖项>

2. 创建应用程序代码

将您的应用程序代码放入一个名为

app

的文件夹中(或您选择的任何名称)。

3. 编写Dockerfile

app

文件夹所在的目录下创建一个名为

Dockerfile

的文件,并添加以下内容:

# 使用基于Miniconda的镜像作为基础镜像
FROM continuumio/miniconda3:latest

# 设置工作目录
WORKDIR /app

# 复制Conda环境文件
COPY environment.yml .

# 创建Conda环境
RUN conda env create -f environment.yml

# 激活Conda环境
SHELL ["conda", "run", "-n", "myenv", "/bin/bash", "-c"]

# 复制应用程序代码
COPY . .

# 暴露应用程序端口 (如果需要)
EXPOSE 8080

# 定义启动命令
CMD ["python", "your_app.py"] 

说明:

  • FROM: 指定基础镜像,这里使用Miniconda3镜像。
  • WORKDIR: 设置容器内的工作目录。
  • COPY: 将本地文件复制到容器中。
  • RUN: 在容器内执行命令。
  • SHELL: 用于在后续命令中激活Conda环境。
  • EXPOSE: 声明容器将监听的端口。
  • CMD: 定义容器启动时执行的命令。

4. 构建Docker镜像

Dockerfile

所在的目录下执行以下命令构建镜像:

docker build -t my-conda-app .

5. 运行Docker容器

构建完成后,可以使用以下命令运行容器:

docker run -p 8080:8080 my-conda-app

这将启动一个新的容器,并将容器的8080端口映射到主机的8080端口。

示例:

假设您的应用程序是一个简单的Flask Web服务器,代码如下:

# app/app.pyfrom flask import Flask

app = Flask(__name__)@app.route("/")defhello():return"Hello from my Conda app!"if __name__ =="__main__":
    app.run(debug=True, host='0.0.0.0', port=8080)

您的

environment.yml

文件可能如下:

name: myenv
channels:- conda-forge
dependencies:- python=3.9
  - flask

按照上述步骤构建镜像并运行容器后,您就可以通过访问

http://localhost:8080

来访问您的应用程序了。

注意:

  • your_app.py替换为您应用程序的入口文件名称。
  • 如果您的应用程序需要其他端口,请相应地修改EXPOSEdocker run命令中的端口号。
  • 您可以根据需要调整Dockerfile中的内容,例如添加其他依赖项、更改基础镜像等。

希望这可以帮助您将Conda环境和应用程序打包成Docker镜像!
希望本指南能够帮助您在Ubuntu 20.04上成功安装和使用Docker! 祝您学习愉快!

标签: ubuntu docker

本文转载自: https://blog.csdn.net/weixin_40514381/article/details/142908949
版权归原作者 roman_fan 所有, 如有侵权,请联系我们删除。

“在Ubuntu 20.04上下载并使用Docker的详细步骤及示例”的评论:

还没有评论