阿里云ECS(ubutun)下安装docker

阿里云ECS(ubutun)下安装docker

一、本地环境安装docker工具

这里以阿里云ECS(ubutun)下安装docker为例,其他操作系统如windows安装可自行百度。(linux下安装建议使用阿里源,这里的安装命令默认是阿里云源)

sudo apt install docker.io
enter image description here

如果你本地有gpu,请继续执行如下命令以支持gpu调用:

# Add the package repositories distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L [https://nvidia.github.io/nvidia-docker/gpgkey](https://nvidia.github.io/nvidia-docker/gpgkey) | sudo apt-key add - curl -s -L [https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list](https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list) | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker

验证安装是否成功:

docker info
enter image description here

二、创建镜像仓库

这里以申请阿里云容器镜像服务(免费),并创建仓库为例,其他仓库如dockerhub、谷歌、亚马逊、腾讯等详见对应产品说明书。

阿里云容器服务地址为(https://cr.console.aliyun.com

注册开通后产品页面如下
enter image description here

第一步切换标签页到命名空间,创建地址唯一的命名空间
enter image description here

根据大赛要求选择对应的地域,其他的按照自己需求选择或填写
enter image description here

下一步,选择本地仓库,不建议其他选项,完成创建。

enter image description here

点击管理,可查看详情。

enter image description here

enter image description here

按照页面的指令在本地完成登陆:

enter image description here

export DOCKER_REGISTRY= your_registry_url<docker registry url> (注意这里your_registry_url最后字段结尾,不能多不能少
E.g registry.cn-shanghai.aliyuncs.com/xxxx/xxxx) docker login $DOCKER_REGISTRY \ --username your_username \ --password your_password

三、构建镜像并推送

在安装好Docker环境的本机/服务器构建并推送容器镜像。过程中可能会使用docker命令,如拉取docker pull,推送docker push,构建docker build等等。

为简化构建镜像的难度,天池已准备了常用的Python基础镜像,可直接拉取使用,更多基础镜像说明点击
自行构建镜像请确保安装curl.

docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

1. 准备所需文件

新建一个文件夹(例如tianchi_submit_demo)用于存放这次任务镜像所需的文件,文件夹中内容示例,其中hello_world.py中是各位自己的代码部分:
enter image description here

Dockerfile配置文件参考,Dockerfile是固定名称,注意首字母大写。Dockerfile中命令皆大写:

# Base Images
## 从天池基础镜像构建
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

## 把当前文件夹里的文件构建到镜像的根目录下
ADD . /

## 指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
WORKDIR /

## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]

run.sh参考:

python hello_world.py

2. 构建镜像并推送(2.1与2.2皆可走通)

2.1 IDE + Cloud Toolkit

推荐使用 Alibaba Cloud Toolkit 进行操作。Cloud Toolkit 与主流 IDE 及阿里云容器镜像服务无缝集成,可以简化操作。 这里以在 IntelliJ IDEA 中使用 Alibaba Cloud Toolkit 为例。只需配置一次,之后都可一键推送~

  1. 在本地 IDE 中安装 Alibaba Cloud Toolkit 并进行阿里云账户配置。参见:
    在 IntelliJ IDEA 中安装和配置 Cloud Toolkit

  2. 设置用于打包本地镜像的 Docker 环境。

    1. 在 IntelliJ IDEA 工具栏单击 Tools > Alibaba Cloud > Preferences…

    2. 在 Settings 对话框的左侧导航栏中单击 Docker

    3. 在 Docker 界面中设置 Cloud Toolkit 需要连接的 Docker 环境。

      • 本地为 Mac 或 Linux 操作系统,勾选 Unix Socket,然后单击 Browse,输入unix:///var/run/docker.sock
      • 本地为 Windows 操作系统,勾选 TCP Connection,然后在 URI 右侧文档框输入本地 Docker 的 URI,如 http://127.0.0.1:2375
      • 远程 Docker 环境:勾选 Tcp Connection,在 URI 右侧的文本框里输入远端的 Docker 环境的 URI(包括 IP 地址和端口),如 http://x.x.x.x:2375,并确保远程主机的 HTTP 服务开启。
      • 单击 Test Connection 进行连接测试。

      注意:如果出现连接测试报错,可进入 Docker 的 Settings 界面,单击左侧导航栏中的 General,然后选择 Expose daemon on tcp://localhost:2375 without TLS。
      配置Docker

  3. 构建并上传应用

    1. 在 IntelliJ IDEA 的菜单栏中选择 File > Open… ,选择参赛的工程文件。

    2. 在 IntelliJ IDEA 界面左侧的 Project 中右键单击您的 Docker 应用工程名,在弹出的下拉菜单中选择 Alibaba Cloud > Deploy to ACR/ACK > Deploy to ACR

    3. 在 Deploy to ACR 对话框中进行以下配置。

      1. 在 Image 页签中选择

        Context Directory

        Dockerfile

        • Context Directory:参赛的工程文件所在的目录,例如上文中的 tianchi_submit_demo 。
        • Dockerfile:选择上文中创建的 Dockerfile。
        • Version:对上传的工程文件做版本标记。例如 1.0
      2. 在 Image Repositories 区域选择上文中创建的容器镜像服务的地域、命名空间和镜像仓库。

    4. 单击 RUN
      上传工程

下次就可以一键完成哦~

2.2 服务器上直接操作

执行docker build -t registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 .
注意:registry.~~~是上面创建仓库的公网地址,用自己仓库地址替换。地址后面的:1.0为自己指定的版本号,用于区分每次build的镜像。最后的.是构建镜像的路径,不可以省掉。

enter image description here

构建完成后可先验证是否正常运行,正常运行后再进行推送。
CPU镜像:docker run your_image sh run.sh
GPU镜像:nvidia-docker run your_image sh run.sh

推送到镜像仓库 docker push registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0
如果这步出错,可能你没有登录,按照仓库里描述操作登录即可。
enter image description here

第一次推送会比较耗时,可以休息一会了~o( ̄▽ ̄)d

四、 提交验证运行结果

在左侧【提交结果】中填写推送的镜像路径、用户名和密码,即可提交。根据【我的成绩】中的分数和日志可以查看运行情况。

enter image description here

其它:

1.如果你是在本机使用脚本build 镜像如docker build -t resgist… .可能会报错如下:

ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'C:/Users/wyx/Desktop/tianchi_docker/requirements.txt'

解决方法:在Dockerfile文件的安装依赖包之前加一行COPY requirements.txt requirements.txt

2.登陆镜像仓库失败,提示账号密码错误,请注意这里的账号密码非阿里云的账号密码而是你开通仓库服务时设置的账号密码,如果忘记密码,找回路径如下:

找回容器镜像登录密码

enter image description here

3.push 完成后刷新仓库网页看不到镜像版本,担心上传失败

容器镜像网页存在一定的延迟,只要你本地push命令行没有出错就大胆去提交即可,如果实在不放心你可以删除本地镜像然后pull一下验证。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Deng872347348

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值