微信号:yswl-wx

介绍:有容云(Yourun Cloud),专注原创内容,分享Docker、容器技术、容器云等内容.

基础篇 | Docker常见仓库介绍

2016-03-10 18:59 有容云
今天我们将为大家介绍的是常见的一些仓库和镜像的功能,使用方法和生成它们的 Dockerfile 等。包括 Ubuntu、CentOS、MySQL、MongoDB、Redis、Nginx、Wordpress、Node.js 等。
Ubuntu

基本信息:

Ubuntu 是流行的 Linux 发行版,其自带软件版本往往较新一些。 该仓库提供了 Ubuntu从12.04 ~ 14.10各个版本的镜像。

使用方法:

默认会启动一个最小化的 Ubuntu 环境:
$ sudo docker run --name some-ubuntu -i -t ubuntu
root@523c70904d54:/#

Dockerfile:

12.04 版本; 14.04 版本; 14.10 版本。

CentOS

基本信息:

CentOS 是流行的 Linux 发行版,其软件包大多跟 RedHat 系列保持一致。 该仓库提供了 CentOS 从 5 ~7 各个版本的镜像。

使用方法:

默认会启动一个最小化的 CentOS 环境:
$ sudo docker run --name some-centos -i -t centos bash
bash-4.2#

Dockerfile:

CentOS 5 版本; CentOS 6 版本; CentOS 7 版本。

MySQL

基本信息:

MySQL 是开源的关系数据库实现。 该仓库提供了 MySQL 各个版本的镜像,包括 5.6 系列、5.7 系列等。

使用方法:

默认会在 3306 端口启动数据库:
$ sudo docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql

之后就可以使用其它应用来连接到该容器:
$ sudo docker run --name some-app --link some-mysql:mysql -d application-that-uses-mysql

或者通过 mysql :
$ sudo docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYS

Dockerfile:

5.6 版本; 5.7 版本。

MongoDB

基本信息:

MongoDB 是开源的 NoSQL 数据库实现。 该仓库提供了 MongoDB 2.2 ~ 2.7 各个版本的镜像。

使用方法:

默认会在 27017 端口启动数据库:
$ sudo docker run --name some-mongo -d mongo

使用其他应用连接到容器,可以用:
$ sudo docker run --name some-app --link some-mongo:mongo -d application-that-uses-mongo

或者通过 mongo:
$ sudo docker run -it --link some-mongo:mongo --rm mongo sh -c 'exec mongo "$MONGO_PORT_27017_TCP_ADDR:$MON

Dockerfile:

2.2 版本; 2.4 版本; 2.6 版本; 2.7 版本。

Redis

基本信息:

Redis 是开源的内存 Key-Value 数据库实现。 该仓库提供了 Redis 2.6 ~ 2.8.9 各个版本的镜像。

使用方法:

默认会在 6379 端口启动数据库:
$ sudo docker run --name some-redis -d redis

另外还可以启用 持久存储:
$ sudo docker run --name some-redis -d redis redis-server --appendonly yes

默认数据存储位置在 VOLUME/data :
可以使用 --volumes-from some-volume-container
 或 -v/docker/host/dir:/data 将数据存放到本地。

使用其他应用连接到容器,可以用:
$ sudo docker run --name some-app --link some-redis:redis -d application-that-uses-redis

或者通过 redis-cli:
$ sudo docker run -it --link some-redis:redis --rm redis sh -c 'exec redis-cli -h "$REDIS_PORT_6379_TCP_ADDR" -p "$REDIS

Dockerfile:

2.6 版本; 最新 2.8 版本。

Nginx

基本信息:

Nginx 是开源的高效的 Web 服务器实现,支持 HTTP、HTTPS、SMTP、POP3、IMAP 等协议。 该仓库提供了 Nginx 1.0 ~ 1.7 各个版本的镜像。

使用方法:

下面的命令将作为一个静态页面服务器启动:
$ sudo docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx

用户也可以不使用这种映射方式,通过利用 Dockerfile 来直接将静态页面内容放到镜像中,内容为:
FROM nginx
COPY static-html-directory /usr/share/nginx/html

之后生成新的镜像,并启动一个容器:
$ sudo docker build -t some-content-nginx .
$ sudo docker run --name some-nginx -d some-content-nginx

开放端口,并映射到本地的 8080 端口:
sudo docker run --name some-nginx -d -p 8080:80 some-content-nginx
 
Nginx的默认配置文件路径为 /etc/nginx/nginx.conf ,可以通过映射它来使用本地的配置文件,例如:
docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx

使用配置文件时,为了在容器中正常运行,需要保持 daemon off。

Dockerfile:

1 ~ 1.7 版本。

WordPress
基本信息:

WordPress 是开源的 Blog 和内容管理系统框架,它基于 PhP 和 MySQL。 该仓库提供了 WordPress 4.0版本的镜像。

使用方法:

启动容器需要 MySQL 的支持,默认端口为 80 :
$ sudo docker run --name some-wordpress --link some-mysql:mysql -d wordpress

启动 WordPress 容器时可以指定的一些环境参数包括:
-e WORDPRESS_DB_USER=... 缺省为 “root”
-e WORDPRESS_DB_PASSWORD=... 缺省为连接 mysql 容器的环境变量 MYSQL_ROOT_PASSWORD 的值
-e WORDPRESS_DB_NAME=... 缺省为 “wordpress”
-e WORDPRESS_AUTH_KEY=... , -e WORDPRESS_SECURE_AUTH_KEY=... , -e
WORDPRESS_LOGGED_IN_KEY=... , -e WORDPRESS_NONCE_KEY=... , -e WORDPRESS_AUTH_SALT=... ,
-e WORDPRESS_SECURE_AUTH_SALT=... , -e WORDPRESS_LOGGED_IN_SALT=... , -e
WORDPRESS_NONCE_SALT=... 缺省为随机 sha1 串

Dockerfile:

4.0 版本 。

Node.js

基本信息:

Node.js是基于 JavaScript 的可扩展服务端和网络软件开发平台。 该仓库提供了 Node.js 0.8 ~ 0.11 各个版本的镜像。

使用方法:

在项目中创建一个 Dockerfile:
FROM node:0.10-onbuild
# replace this with your application's default port
EXPOSE 8888

然后创建镜像,并启动容器:
$ sudo docker build -t my-nodejs-app
$ sudo docker run -it --rm --name my-running-app my-nodejs-app

也可以直接运行一个简单容器:
$ sudo docker run -it --rm --name my-running-script -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp node:0.10 node your

Dockerfile:

0.8 版本; 0.10 版本。

注:本文资料来源于网络,由云舒网络整理发布,收录于《docker入门与实战篇》。更多相关资料下载:


网页下载:
http://www.cloudsoar.com/down/ddoc/v1.1/
博客期刊:
http://www.cloudsoar.com/about/BlogNews/content/0/137/v1.1/
百度云盘下载:
http://pan.baidu.com/s/1hrkDXha



温馨提示:


云舒网络携手Rancher Labs推出【Rancher | 实战微信群】,在线为您分享Docker技术干货,更有往期回顾精选期刊等你拿!

 

本群汇集了Rancher中国最强技术精英团队及业内技术派高人,宗旨是为了大家拥有更专业的平台交流Rancher实战技术,实时与Rancher创始团队面对面!同时欢迎各位分享自己的经验、疑难问题,我们将定期邀请分享嘉宾做各类话题分享及回顾,共同实践研究Docker容器生态圈。

 

对Rancher和Docker技术感兴趣、或对本文中细节需继续探讨的朋友,欢迎加入本群参与讨论! 


加微信群方法:

  1.关注【云舒网络】公众号

  2.留言”我要加群” 

QQ群号:216521218


云舒网络微信平台

原创-客观-专业-分享



 
有容云 更多文章 云舒助力企业SAAS化,出席开目软件2015用户大会 云舒网络亮相开目软件2015用户大会,现场搭建“企业级定制化SAAS平台” 【知识分享】扒一扒那些虚拟桌面不为人知的事 ,三张图告诉你什么是VDI 双十一IT管理福利大放送:手把手教你搭建企业私有云平台 趣谈|云领域的“莞式服务”
猜您喜欢 饿了么移动APP的架构演进 京东:10万规模容器的实践及运营之道 凭什么她抽烟喝酒飙脏话,但人人都说她是“好姑娘”? Android进程间通信:Messenger 又一个陷入困局的case,求助