当前位置: 首页 > news >正文

Docker技术入门与实战【3.1】

16.1.2 Ubuntu 14.04系统

Ubuntu 14.04的内核是比较新的3.13版本,可以较好地支持Docker,所以不需要进行升级。
利用apt-get安装Docker步骤如下:
# apt-get update
# apt-get install apt-transport-https
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
# bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
# apt-get update
# apt-get install lxc-docker
启动的时候也会遇到无法分配空闲IP的提示,可以使用如下命令:
# docker --bip 192.168.100.1/24 -d &
启动即可。
后面的下载和测试步骤与CentOS类似,在此不再赘述。

16.2 阿里云Docker的特色服务

图16-2(摘自阿里云官方网站)描述了了使用阿里云ECS Docker将使开发、测试和运维之间合作更加紧密,各司其职,实现更高的效率。
图16-2是阿里云ECS Docker的完整生态图(摘自阿里云官方网站)。

阿里云镜像市场中的第三方Docker镜像

在阿里云的镜像市场有一款镜像“Docker运行环境”,如图16-3所示,它的操作系统使用Ubuntu 14.0464位并预装了Docker 1.2版本,一旦ECS实例运行,读者就能在其上构建和运行Docker容器了。镜像地址为:http://market.aliyun.com/imageproduct/16-122106003-jxsc000057.html

专为阿里云ECS用户提供下载的Docker私有仓库
为方便ECS用户使用Docker官方镜像,阿里云同步Docker官方镜像库的最新版本到国内服务器,使得ECS用户可以通过内网连接该服务器。这些镜像来自Docker Hub的stackbrew用户下的所有镜像
仓库,一部分镜像由Docker官方维护,一部分由软件官方社区维护。目前只支持镜像下载。
笔者下面展示一下如何使用阿里云的源来下载镜像。
阿里云的私有仓库不支持使用标准方式来查询,下面的结果返回为空:# curl registry.mirrors.aliyuncs.com/v1/search
{"num_results": 0, "query": "", "results": []}
不过,官方公布了两种下载镜像的方法。
第一种方法
可以通过下面的命令下载各种镜像:
docker pull registry.mirrors.aliyuncs.com/library/debian
docker pull registry.mirrors.aliyuncs.com/library/hello-world
docker pull registry.mirrors.aliyuncs.com/library/zend-php
docker pull registry.mirrors.aliyuncs.com/library/wordpress
docker pull registry.mirrors.aliyuncs.com/library/ubuntu-upstart
docker pull registry.mirrors.aliyuncs.com/library/ubuntu-debootstrap
docker pull registry.mirrors.aliyuncs.com/library/ubuntu
docker pull registry.mirrors.aliyuncs.com/library/ruby
docker pull registry.mirrors.aliyuncs.com/library/registry
docker pull registry.mirrors.aliyuncs.com/library/redis
docker pull registry.mirrors.aliyuncs.com/library/rails
docker pull registry.mirrors.aliyuncs.com/library/python
docker pull registry.mirrors.aliyuncs.com/library/postgres
docker pull registry.mirrors.aliyuncs.com/library/php
docker pull registry.mirrors.aliyuncs.com/library/perl
docker pull registry.mirrors.aliyuncs.com/library/opensuse
docker pull registry.mirrors.aliyuncs.com/library/node
docker pull registry.mirrors.aliyuncs.com/library/mageia
docker pull registry.mirrors.aliyuncs.com/library/jruby
docker pull registry.mirrors.aliyuncs.com/library/jenkins
docker pull registry.mirrors.aliyuncs.com/library/java
docker pull registry.mirrors.aliyuncs.com/library/hylang
docker pull registry.mirrors.aliyuncs.com/library/hipache
docker pull registry.mirrors.aliyuncs.com/library/golang
docker pull registry.mirrors.aliyuncs.com/library/gcc
docker pull registry.mirrors.aliyuncs.com/library/fedora
docker pull registry.mirrors.aliyuncs.com/library/docker-dev
docker pull registry.mirrors.aliyuncs.com/library/crux
docker pull registry.mirrors.aliyuncs.com/library/crate
docker pull registry.mirrors.aliyuncs.com/library/clojure
docker pull registry.mirrors.aliyuncs.com/library/cirros
docker pull registry.mirrors.aliyuncs.com/library/centos
docker pull registry.mirrors.aliyuncs.com/library/busybox
docker pull registry.mirrors.aliyuncs.com/library/buildpack-deps
docker pull registry.mirrors.aliyuncs.com/library/nginx
docker pull registry.mirrors.aliyuncs.com/library/mongo
docker pull registry.mirrors.aliyuncs.com/library/neurodebian
docker pull registry.mirrors.aliyuncs.com/library/mysql
我们来测试下这个内网的阿里云源下载速度如何,让我们来下载一个ubuntu:14.04的镜像:
# time docker pull registry.mirrors.aliyuncs.com/library/ubuntu:14.04
2014/11/19 21:22:22 Error: Invalid registry endpoint https://registry.mirrors.aliyuncs.com/v1/: Get https://registry.mirrors.aliyuncs.com/v1/_ping: dial tcp 10.157.230.35:443: i/o timeou
real 0m5.020s
user 0m0.009s
sys 0m0.006s
如果读者跟我一样已经将Docker的版本升级到1.3,那么就会出现这个提示,当我们使用1.3版本的Docker来下载非官方镜像时,都会让我们手工确认该源的安全性,如果确认没问题,则需要手工添
加--insecure-registry到启动参数中。具体的添加方法在本书最后的FAQ中有详细介绍。
添加完之后,我们再次来下载ubuntu:14.04镜像:
$ sudo time docker pull registry.mirrors.aliyuncs.com/library/ubuntu
Pulling repository registry.mirrors.aliyuncs.com/library/ubuntu
5506de2b643b: Download complete
511136ea3c5a: Download complete
d497ad3926c8: Download complete
ccb62158e970: Download complete
e791be0477f2: Download complete
3680052c0f5c: Download complete
22093c35d77b: Download complete
Status: Image is up to date for registry.mirrors.aliyuncs.com/library/ubuntu:latest
real 0m12.681s
user 0m0.010s
sys 0m0.007s
12秒就下载了ubuntu:latest镜像,还可以手工指定需要下载的版本:
$ sudo docker pull registry.mirrors.aliyuncs.com/library/ubuntu:12.04
Pulling repository registry.mirrors.aliyuncs.com/library/ubuntu
0b310e6bf058: Download complete
511136ea3c5a: Download complete
5f18d94c3eca: Download complete
53db23c604fd: Download complete
9f045ea36057: Download complete
d03a1a9d7555: Download complete
30868777f275: Download complete
Status: Downloaded newer image for registry.mirrors.aliyuncs.com/library/ubuntu:12.04
第二种方法
创建from_aly空目录,并在其中创建Dockerfile文件:
$ mkdir from_aly
$ cd from_aly/
$ vi Dockerfile
Dockerfile内容为:
FROM registry.mirrors.aliyuncs.com/library/ubuntu:14.04
根据这个一句话的Dockerfile创建镜像:
$ sudo docker build -t ubuntu_aly:14.04 .
Sending build context to Docker daemon 2.56 kB
Sending build context to Docker daemon
Step 0 : FROM registry.mirrors.aliyuncs.com/library/ubuntu:14.04
Pulling repository registry.mirrors.aliyuncs.com/library/ubuntu
5506de2b643b: Download complete511136ea3c5a: Download complete
d497ad3926c8: Download complete
ccb62158e970: Download complete
e791be0477f2: Download complete
3680052c0f5c: Download complete
22093c35d77b: Download complete
Status: Image is up to date for registry.mirrors.aliyuncs.com/library/ubuntu:14.04
---> 5506de2b643b
Successfully built 5506de2b643b
支持阿里云OSS的私有仓库
官方在Github上有一个项目docker-registry,专门用于自建Docker的私有镜像库。镜像管理是Docker的核心,为了保证镜像数据的可靠、可用和安全,docker-registry现在支持镜像数据存储在S3、
GCS等云存储上。
已经有人给docker-registry开发了针对阿里云OSS的驱动,并把它和docker-registry一起做成了Docker镜像。以下是快速启动支持OSS的docker-registry的方式:
$ sudo docker run -e OSS_BUCKET=<your_ali_oss_bucket> -e STORAGE_PATH=/docker/ -e OSS_KEY=<your_ali_oss_key> -e OSS_SECRET=<your_ali_oss_secret> -p 5000:5000 -d chrisjin/registry:ali_oss
读者也可以从https://github.com/docker/docker-registry下载安装docker-registry,并通过pip安装OSS driver。
$ sudo pip install docker-registry-driver-alioss
接下来配置config.yml。
local: &local
<<: *common
storage: alioss
storage_path: _env:STORAGE_PATH:/devregistry/
oss_bucket: _env:OSS_BUCKET[:default_value]
oss_accessid: _env:OSS_KEY[:your_access_id]
oss_accesskey: _env:OSS_SECRET[:your_access_key]
最后启动docker-registry。
DOCKER_REGISTRY_CONFIG=[your_config_path] gunicorn -k gevent -b 0.0.0.0:5000 -w 1 docker_registry.wi:application

16.3 本章小结

公有云已经提供了诸多虚拟化带来的便利,那么在上面使用Docker还有意义吗?
其实,通过整合公有云的虚拟机和Docker方式,可能获得更多的好处,包括:
·快速交付和部署。
·利用内核级虚拟化,对公有云中服务器资源进行更加高效地利用。
·利用公有云和Docker的特性更加方便的迁移和扩展应用。
以一个简单的应用开发、测试和发布过程来说明Docker在公有云上的应用过程。
首先,运维人员在公有云上搭建私有Docker注册服务器,以存储项目组镜像。开发人员在开发过程中从搭建的私有Docker Registry获取应用需要的基础镜像。
之后,可以开发并构造应用容器,测试通过后提交容器为新的镜像并推送到私有的Docker Registry。QA在测试云服务器上测试容器,通过后提交到私有的Docker Registry。
最后,发布人员下载最新版本镜像并在生产云服务器上部署容器。

http://www.jsqmd.com/news/715268/

相关文章:

  • 别再死记硬背了!用‘信号快递员’的视角,5分钟搞懂AUTOSAR COM模块的收发逻辑
  • 基于AI Agent的代码审查技能:结构化清单驱动的高效质量保障
  • FinceptTerminal:开源金融终端的“核弹级”颠覆者——免费Bloomberg杀手,C++20原生性能+AI智能体全家桶
  • 3分钟掌握WinCDEmu:Windows免费虚拟光驱工具终极指南
  • 大模型压缩实战:从量化、投机解码到AngelSlim工具包深度解析
  • CyberClaw:一个模块化Python异步爬虫框架的设计与实战
  • DriveGen3D:自动驾驶动态场景生成与重建技术解析
  • 极端环境防护涂层企业口碑大比拼,2026优选名单,极端环境防护涂层,极端环境防护涂层生产厂家有哪些 - 品牌推荐师
  • 第9篇:Sharding-JDBC 自增主键策略为什么是不连续的,且尾数大多为偶数?[文档]
  • 文档即代码:使用MkDocs + Material主题构建项目文档站
  • 2026年郑州高新区黄金回收:哪家更值得您的信赖? - 品牌企业推荐师(官方)
  • 技术探秘:Audio Slicer音频智能分割工具深度解析与实战指南
  • 技术写作能力:被低估的职场加速器
  • 计算机视觉如何革新现代农业:五大应用场景解析
  • 如何通过NoFences实现Windows桌面革命:从混乱到有序的5步转型方案
  • Docker原生支持WASM了吗?深度逆向Docker 26.1源码后,我们重构出兼容OCI 1.1的WASM运行时架构图(含3处关键补丁说明)
  • 2026年即墨区汽车改装指南:如何挑选最靠谱的企业 - 品牌企业推荐师(官方)
  • WiFi 7模块NHX53X2硬件解析与开发实践
  • RIS赋能的隐私保护ISAC系统设计与优化
  • 2026年北京口碑最好的无人机培训厂家怎么选? - 品牌企业推荐师(官方)
  • 别再纠结CAT还是Biped了!3ds Max 2024骨骼动画系统保姆级选择指南
  • Simulink自定义代码生成避坑指南:手把手教你配置系统目标文件(.tlc)的5个关键参数
  • 2026年黄岛区汽车真皮镀膜,品质耐用选哪家? - 品牌企业推荐师(官方)
  • 手把手掌握Metasploit Framework:零基础直达实战的网络安全权威指南
  • js逆向-某度翻译
  • OpCore Simplify:智能黑苹果配置终极指南 - 三分钟完成专业级OpenCore EFI创建
  • TreadLocal和TreadLocalMap
  • VS Code容器开发环境总“失联”?深度解析2026年SSH代理链路断裂的4类新型故障(含Wireshark级诊断流程图)
  • Radxa Fogwise Airbox AI Box评测:边缘计算与AI应用实践
  • 第3篇:Sharding-JDBC(版本3.0) 入门demo,纯java 代码 【了解】