Docker 封装anaconda环境,生成镜像并打包,纯小白一文读懂(一)


前言

从零开始入门封装本地conda环境,本文主要讲解打包环境前的Docker配置工作,如不需要配置Docker,可直接跳转:
Docker 封装anaconda环境,生成镜像并打包,纯小白一文读懂(二)


提示:以下是本篇文章正文内容,下面案例可供参考

一、Docker是什么?

1.虚拟机和Linux容器

说到Docker就必须了解虚拟机和Linux容器,虚拟机可以实现在一种操作系统里面运行另一种操作系统,比如在 Windows 系统里面运行 Linux 系统等,而且不会对实际的电脑产生影响,不想用时将虚拟机相关文件删掉即可,用户可以通过虚拟机还原软件的原始环境,实际上就是解决了配置环境的问题。尽管它有资源占用多,启动慢等缺点。

Linux容器是为了解决虚拟机的确缺点而生的,Linux 发展出了另一种虚拟化技术:Linux 容器(Linux Containers,缩写为 LXC)。Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离。或者说,在正常进程的外面套了一个保护层。对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离。由于容器是进程级别的,相比虚拟机有很多优势。像启动快、资源占用少等。

而Docker 就是属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。就像一开始说的,Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

二、Docker用途

这里引用网上某博主的部分内容,Docker 的主要用途,目前有三大类。

(1)提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。

(2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。

(3)组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

三、Docker安装

1.Dcoker手动在线安装:

参考教程: 菜鸟入门Docker.

2.Docker离线安装

参考教程: Docker - 离线安装.

3.官方脚本自动安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

参考教程: Docker教程.
●Error解决:
域名无法解析:参考教程.
E: Sub-process /usr/bin/dpkg returned an error code (1): 参考教程.

PS:安装Docker需要管理员权限,所以你需要使用有管理员权限的账号来登录服务器进行安装。

四、Docker启动与停止

1.启动Docker

sudo service docker start

2.停止Docker

sudo service docker stop

3.重启Docker

sudo service docker restart

五、Docker配置

1.将用户加入 Docker 用户组

Docker 中的所有docker操作都需要用户具有 sudo 权限,为了避免每次命令都需要在指令前输入sudo,建议将用户加入Docker用户组。(PS:该步骤可以跳过,后续docker指令直接添加sudo前缀即可 。)

# 添加docker用户组:
sudo groupadd docker
# 将当前用户加入到docker用户组:
sudo gpasswd -a ${USER} docker
# 重启docker服务:
sudo service docker restart

执行完这几句后再重新使用你的用户名登录一下服务器,该用户就可以在输入docker指令时不用再添加 sudo 。
PS : ${USER}:代指你远程登录服务器的用户名。例如,我登录服务器的用户名为 c 则输入:
sudo gpasswd -a c docker

2.配置daemon.json

由于在安装完Docker,启动docker服务后,我们在打包环境的时候需要拉取 基础image文件(PS:image文件是Docker镜像文件。)但因为默认网址是国外的,直接拉取会报错,显示超时,所以需要配置国内镜像。
(1)首先进入Docker文件下:

cd /etc/docker

你会发现该目录下只有一个key.json 文件,所以你需要创建一个daemon.json。(PS:我已经创建过daemon.json)
我已经创建过daemon.json
(2)创建daemon.json:

sudo vim daemon.json

进入编辑文件内后按一下 a 开始插入字符, 输入以下内容:

{
         "registry-mirrors": [
                 "https://docker.mirrors.ustc.edu.cn"
         ]
}

在这里插入图片描述
编辑完后按下 Esc键退出插入模式, 然后直接输入 :wq保存并退出daemon.json。如果不保存便退出,则输入 :q!

3.重启Docker

保存后,重启一下docker。

到此为止,打包环境的前序工作便结束了。下面便开始正式进行打包conda环境。

六、Docker打包conda环境

跳转:
Docker 封装anaconda环境,生成镜像并打包,纯小白一文读懂(二)

Docker 是一种开源的应用容器引擎,可以让你轻松创建、部署和运行应用程序。Anaconda 是一个开源的Python分发包,广泛用于数据科学和机器学习项目中。在Docker中安装Anaconda环境,可以让你在一个隔离的环境中运行包含Python和数据科学相关库的镜像。 以下是使用Docker安装Anaconda环境的基本步骤: 1. 拉取官方的Anaconda Docker镜像Docker提供了一些官方镜像,可以直接从Docker Hub拉取一个带有Anaconda预装的镜像。可以在终端或命令行中使用以下命令来拉取一个特定版本的Anaconda镜像(以Python 3.7版本为例): ``` docker pull continuumio/anaconda3:latest ``` 如果想使用特定版本的Anaconda,可以将`latest`替换为相应版本号,例如`5.2.0`。 2. 运行Anaconda镜像: 使用`docker run`命令运行Anaconda容器。可以通过`-it`参数以交互式模式运行容器,并使用`/bin/bash`来启动bash shell: ``` docker run -it continuumio/anaconda3:latest /bin/bash ``` 这样就可以进入一个带有Anaconda的容器环境。 3. 使用Anaconda环境: 一旦在容器内,你可以使用conda命令来创建新的环境、安装包等,就像在本地安装了Anaconda一样。 4. 保存工作: 如果你在容器中进行了更改,并希望将这些更改保存到新的Docker镜像中,可以使用`docker commit`命令: ``` docker commit <container-id> <new-image-name> ``` 替换`<container-id>`为你的容器ID,`<new-image-name>`为你想要创建的新镜像的名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值