【Docker入门&Linux下Docker部署推送】

文前白话

一、关于容器的基础了解

    阿里云-云原生技术公开课: 容器是相对于进程而言的。 容器就是一个视图隔离、资源可限制、独立文件系统的进程集合。 所谓“视图隔离”就是能够看到部分进程以及具有独立的主机名等;控制资源使用率则是可以对于内存大小以及 CPU 使用个数等进行限制。 容器就是一个进程集合,它将系统的其他资源隔离开来,具有自己独立的资源视图。 容器镜像:容器运行时所需要的所有的文件集合。 Dockerfile - 描述镜像构建步骤

二、Docker入门&Linux下Docker部署推送

1、在Ubuntu 18.04下安装docker 环境:

    执行:
sudo apt-get update
sudo apt install docker.io

2、开通阿里云容器镜像服务:

点击注册开通: .

.

    主要步骤如:
- 创建好本地仓库以后会跳转到: - 也可查看:

3、构建镜像并推送

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

    准备文件

新建一个文件夹(例如: tianchi_submit_demo,创建的文件夹自定)用于存放目标镜像所需的文件,文件夹中内容文件示例,其中hello_world.py中是自己的代码部分:

sudo mkdir -p /home/tianchi_docker_test 
cd /home/tianchi_docker_test
    ①、拉取基础镜像文件-Python基础镜像,更多其他基础镜像说明.
docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
    ②、准备本地所需文件:

文件夹中内容文件示例,其中hello_world.py中是自己的代码部分: (下图中创建的文件夹为:docker )

    并且,主要是Dockerfile文件,Dockerfile配置文件参考,Dockerfile是固定名称,注意首字母大写。Dockerfile中命令皆大写:其中添加的内容实例如下:
## 从天池基础镜像构建
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

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

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

## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]
    hello-world.py 中写好自己的做题的代码: run.sh 脚本启动文件: (run.sh中添加的内容参考:)
python hello_world.py   # 注意文件名称的一致性

③、构建镜像

    在服务器上直接操作执行: docker build -t registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 . 注意:registry.~~~是上面创建仓库的公网地址,用自己仓库地址替换。地址后面的:1.0为自己指定的版本号,用于区分每次build的镜像。最后的**.**是构建镜像的路径,不可以省掉。 即:
sudo docker build -t registry.cn-shanghai.aliyuncs.com/命名空间/仓库名称:版本号
sudo docker build -t registry.cn-shanghai.aliyuncs.com/wupke/docker_test:1.0 .
    构建完成后可先验证是否正常运行,正常运行后再进行推送。 ⑤、本地调试 先查看镜像ID:
sudo docker images
    调试,执行:
$ sudo docker run  643a823cb573 sh run.sh

hello world!
    运行正常, 可以进行推送。 ⑥ 、推送到镜像仓库: 首先登陆阿里云Docker Registry ,执行:
$ sudo docker login --username=用户名 registry.cn-shanghai.aliyuncs.com
$ sudo docker login --username=ken****0724 registry.cn-shanghai.aliyuncs.com
    用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。 再推送到仓库:
$ sudo docker push registry.cn-shanghai.aliyuncs.com/命名空间/仓库名称:[镜像版本号]

$ sudo docker push registry.cn-shanghai.aliyuncs.com/wupke/docker_test:1.0

阿里天池docker训练练习链接

零基础入门Docker-cuda练习场【免费GPU】: .

附:Docker文档地址

    .
经验分享 程序员 微信小程序 职场和发展