上云无忧 > 文档中心 > 百度智能云容器引擎服务 CCE 镜像仓库基本操作
容器引擎服务CCE
百度智能云容器引擎服务 CCE 镜像仓库基本操作

文档简介:
镜像仓库为您提供安全可靠、简单易用的容器镜像托管服务,为您降低Registry的搭建运维成本,提升云原生应用的交付能力和体验。 您可以使用容器引擎CCE提供的镜像仓库功能 容器引擎-镜像仓库。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

介绍

镜像仓库为您提供安全可靠、简单易用的容器镜像托管服务,为您降低Registry的搭建运维成本,提升云原生应用的交付能力和体验。

您可以使用容器引擎CCE提供的镜像仓库功能 容器引擎-镜像仓库 

您也可以使用功能和体验更为完善的容器镜像服务CCR 容器镜像服务控制台 

注意: 此文档仅针对 容器引擎CCE 中的 镜像仓库 ,镜像仓库域名为 hub.baidubce.com 。如需参考该文档使用 容器镜像服务CCR,请把镜像仓库域名替换为 registry.baidubce.com 。

开通镜像仓库

首次进入镜像仓库,会弹出下图所示页面,请按照要求填写用户名并设置密码。

注意:

用户名:镜像仓库用户名命名规则是:只支持小写字母与数字,长度为4-30,提交后不可修改。

密 码:是用户登录到docker镜像仓库的凭证。密码创建规则:8~32位字符,英文、数字和符号必须同时存在,符号仅限!@#^*()。

创建命名空间

  1. 在镜像仓库分类下选择命名空间,然后在命名空间列表中点击新建命名空间。
  2. 填写新建空间名称并选择空间类型后点击确定完成命名空间的创建。

注意:

命名空间的命名规则为:长度1-65小写字母、数字以及-_.特殊字符,特殊字符不能位于开头和结尾且不能连续出现。

新建镜像

1.点击镜像列表页中新建按钮。

2.选择命名空间、填写镜像名称和版本号然后点击确定。

注意:

1.镜像名称的命名需遵守“长度1-65小写字母、数字以及-_ /.特殊字符,特殊字符不能位于开头和结尾且不能连续出现。“

2.版本号的命名需遵守“长度1-65小写字母、数字以及-_ .特殊字符,特殊字符不能位于开头和结尾且不能连续出现。”

3.如果用户不选择新建镜像,在完成镜像推送到相应命名空间后,也会自动生成以上基本信息。

删除镜像

选择要删除的镜像名称,然后点击删除按钮,在弹出的删除提示中点击确定。

注意: 镜像删除后将无法恢复和使用。

推送镜像到镜像仓库

注意: 此文档仅针对 容器引擎CCE 中的 镜像仓库 ,镜像仓库域名为 hub.baidubce.com 。如需参考该文档使用 容器镜像服务CCR,请把镜像仓库域名替换为 registry.baidubce.com 。

登录百度智能云镜像仓库

>$ sudo docker login --username=[username] hub.baidubce.com

username:镜像仓库名称,即是开通镜像仓库时填写的用户名。输入密码后完成登录。

上传镜像

$ sudo docker tag [ImageId] hub.baidubce.com/[namespace]/[ImageName]:[镜像版本号]
    $ sudo docker push hub.baidubce.com/[namespace]/[ImageName]:[镜像版本号]
  • ImageId和镜像版本号根据镜像信息补充
  • namespace是开通镜像仓库时填写的命名空间
  • ImageName是在控制台创建的镜像名称

下载镜像

登录到镜像仓库,需输入密码

$ sudo docker pull hub.baidubce.com/[namespace]/[ImageName]:[镜像版本号]

使用DockerHub加速器

如何使用DockerHub镜像加速器

docker软件源地址:https://mirror.baidubce.com

CCE集群BCC云服务器

无需手动配置,在创立节点时会自动安装docker服务,配置Mirror镜像,配置项如下:

[root@VM_1_2_centos ~]# cat /etc/systemd/system/docker.service 
    IPTABLES="--iptables=false"
    STORAGE_DRIVER="--storage-driver=overlay2"
    IP_MASQ="--ip-masq=false"
    LOG_LEVEL="--log-level=warn"
    REGISTRY_MIRROR="--registry-mirror=https://mirror.baidubce.com"

BCC与服务器配置

Linux:

1.适用于 Ubuntu14.04、Debian、CentOS6 、Fedora、OpenSUSE ,其他版本可能有细微不同

修改Docker配置文件/etc/default/docker, 如下:

DOCKER_OPTS="--registry-mirror=https://mirror.baidubce.com"

2.适用于Centos7 修改Docker配置文件vi /etc/sysconfig/docker, 添加下面

OPTIONS='--registry-mirror=https://mirror.baidubce.com'

注意

Docker 1.3.2版本以上才支持Docker Hub Mirror机制,如果您还没有安装Docker或者版本过低,请安装或升级版本。

Windows

如果你是用的Boot2Docker,配置命令为:进入Boot2Docker Start Shell,并执行

sudo su echo "EXTRA_ARGS=\"–registry-
    mirror=http://https://mirror.baidubce.com"">> /var/lib/boot2docker/profile  exit #  重启Boot2Docker

启动docker

执行以下命令可以启动docker

sudo service docker start

构建docker镜像

DockerHub 已经为广大开发者提供了大量优秀的的可用镜像,详情可查看DockerHub 官网。

由于实际场景的多样性,并非所有应用都能在 DockerHub 找到对应的镜像来使用。 你可以通过以下面的教程学习如何构建个性化Docker镜像。

Docker 生成镜像目前有两种方式:

  • 通过 Dockerfile 自动构建镜像;
  • 通过对已有容器执行 Commit 命令打包生成镜像。

Dockerfile 自动编译生成

下面以 Dockerhub 官方提供的 WordPress 为例,转到 github 查看详情

相关的 Dockfile 源码如下:

FROM php:5.6-apache
        
        # install the PHP extensions we need
        RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev && rm -rf /var/lib/apt/lists/* \
            && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
            && docker-php-ext-install gd mysqli opcache
        
        # set recommended PHP.ini settings
        # see https://secure.php.net/manual/en/opcache.installation.php
        RUN { \
                echo 'opcache.memory_consumption=128'; \
                echo 'opcache.interned_strings_buffer=8'; \
                echo 'opcache.max_accelerated_files=4000'; \
                echo 'opcache.revalidate_freq=2'; \
                echo 'opcache.fast_shutdown=1'; \
                echo 'opcache.enable_cli=1'; \
            } > /usr/local/etc/php/conf.d/opcache-recommended.ini
        
        RUN a2enmod rewrite expires
        
        VOLUME /var/www/html
        
        ENV WORDPRESS_VERSION 4.6.1
        ENV WORDPRESS_SHA1 027e065d30a64720624a7404a1820e6c6fff1202
        
        RUN set -x \
            && curl -o wordpress.tar.gz -fSL "https://wordpress.org/wordpress-${WORDPRESS_VERSION}.tar.gz" \
            && echo "$WORDPRESS_SHA1 *wordpress.tar.gz" | sha1sum -c - \
        # upstream tarballs include ./wordpress/ so this gives us /usr/src/wordpress
            && tar -xzf wordpress.tar.gz -C /usr/src/ \
            && rm wordpress.tar.gz \
            && chown -R www-data:www-data /usr/src/wordpress
        
        COPY docker-entrypoint.sh /usr/local/bin/
        RUN ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat
        
        # ENTRYPOINT resets CMD
        ENTRYPOINT ["docker-entrypoint.sh"]
        CMD ["apache2-foreground"]

上述 Dockerfile 文件中的描述如何完成WordPress应用所需基础环境构建。

在终端创建一个文件夹来保存该 Dockerfile 文件,并通过 docker build 命令来构建镜像。

[root@instance-hlf45x1g-1 worldpress]# docker build ./
    Sending build context to Docker daemon 3.072 kB
    Step 1 : FROM php:5.6-apache
    Trying to pull repository docker.io/library/php ... 
    5.6-apache: Pulling from docker.io/library/php
    386a066cd84a: Pull complete 
    269e95c6053a: Pull complete 
    ......

通过 docker images 命令即可查看到构建完成的镜像。

[root@instance-hlf45x1g-1 worldpress]# docker images
    REPOSITORY                                     TAG                 IMAGE ID     
       CREATED             SIZE
    worldpress                                     latest              9f0b470b5ddb 
       13 minutes ago      420 MB
    docker.io/php                                  5.6-apache          eb8333e24502        7 days ago          389.7 MB

使用 Dockerfile 来构建镜像有以下建议:

  • 尽量选择 Docker 官方提供基础镜像作为基线。
  • Dockerfile 前几行的指令应尽量选择一般性、通用性的指令完成相关依赖软件的安装及操作,从而有效利用缓存。
  • 只安装必须的软件包,减小镜像大小。
  • 多条 RUN 命令使用'\'连接,有利于理解且方便维护。
  • 通过 -t 标记构建镜像,有利于管理新创建的镜像。
  • 清晰的注释,提高可读性。
  • 完成构建后,请先进行本地启动验证其功能性。

执行 Commit 实现打包生成镜像

通过 Dockerfile 可以快速构建镜像,而通过 commit 为如何将一个已经存在的容器镜像化提供了解决方案。

通过 commit 构建镜像操作如下:

1.运行并进入基于基础镜像的容器内。

[root@instance-hlf45x1g-1 ~]# docker run -i -t centos

2.安装需要的软件,并添加配置。

[root@c4f1basa4w76 /]# yum update && yum install  openssh-server
        Loaded plugins: fastestmirror, ovl
        base                                             | 3.6 kB  00:00:00     
        extras                                           | 3.4 kB  00:00:00     
        updates                                          | 3.4 kB  00:00:00     
        (1/4): base/7/x86_64/group_gz                    | 155 kB  00:00:00     
        (2/4): extras/7/x86_64/primary_db                | 166 kB  00:00:00     
        (3/4): base/7/x86_64/primary_db                  | 5.3 MB  00:00:00     
        (4/4): updates/7/x86_64/primary_db 
        ......
        ......
        ......
        Dependency Installed:
        fipscheck.x86_64 0:1.4.1-5.el7     fipscheck-lib.x86_64 0:1.4.1-5.el7  
            openssh.x86_64 0:6.6.1p1-25.el7_2  tcp_wrappers-libs.x86_64 0:7.6-77.el7

3.配置完成后打开新终端保存该镜像。

[root@instance-hlf45x1g-1 ~]# docker ps
        CONTAINER ID    IMAGE       COMMAND       CREATED          STATUS        PORTS       NAMES
        c4f1basa4w76   centos     "/bin/bash"   13 minutes ago   Up 13 minutes            fashion_surl
    [root@instance-hlf45x1g-1 ~]# docker commit c4f1basa4w76 my_centos:1.0      
        sha256:65325ffd2af9d574afca917a8ce81cf8a710e6d1067ee611a87087e1aa88e4a4
    [root@instance-hlf45x1g-1 ~]# docker images
        REPOSITORY      TAG       IMAGE ID            CREATED             SIZE
        my_centos       1.0     65325ffd2af9        16 seconds ago      307.8 MB

相似文档
  • 百度智能云镜像构建服务支持在页面上配置基于代码仓库或Dockerfile的镜像构建规则,并由用户手动触发/代码仓库变更自动触发镜像构建,打通用户代码变更到容器部署的中间环节,方便用户更高效便捷地部署容器化服务。 注:Dockerfile中可以记录构建Docker镜像所需的一系列命令和参数,关于Dockerfile的格式和编写方法,请参考Docker官方文档。
  • 本文档主要介绍虚拟节点和BCI,以及如何通过在CCE中创建虚拟节点创建BCI Pod。 百度智能云容器实例BCI提供无服务器化的容器资源。您只需提供容器镜像及启动容器所需的配置参数,即可运行容器,而无需关心这些容器如何被调度部署到底层的物理服务器资源中。
  • 配置CPU和Memory资源: 当前支持通过指定Pod中每个容器的resources.requests,对BCI实例的规格进行配置。若不指定,则默认单个容器使用的资源的是1vCPU+2GiB内存。对应BCI实例的计费资源为Pod中所有容器资源的总和。
  • 本文介绍百度云CCE Serverless Kubernetes集群的产品简介,核心优势,产品定价及与普通CCE集群的对比,帮助您快速了解和使用Serverless Kubernetes集群。 CCE Serverless Kubernetes集群是百度云容器引擎服务(CCE)推出的无服务器版本Kubernetes集群。
  • 本文介绍如何创建一个百度云CCE Serverless Kubernetes集群。 前提条件: 开通BCI产品,并选择开放BCI购买的地域。 创建集群: 登录CCE管理控制台。 点击创建集群,选择创建Serverless Kubernetes集群。若用户未开通BCI资源或BCI资源在对应地域不可用,创建按钮会置灰,将光标悬停在按钮会提示具体不可用的原因。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部