1,关于docker
Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。
Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。
在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。
摘自:
http://dockerpool.com/static/books/docker_practice/introduction/what.html
2,安装centos
在使用virtualbox安装的时候需要把网络修改成【Bridged A’dapter】,方便获得上网ip,ssh连接到虚拟机。
centos7 可以直接使用yum 安装docker
最懒的方式,只是为了学习docker省去了折腾环境的麻烦。
直接使用iso进行安装就行了。
需要注意下:
CentOS 7 sshd 链接被拒绝问题,端口改变成2200
centos7.0的几个新特性
3,安装docker
直接安装就可以了:
yum install golang docker device-mapper-event-libs
必须安装 device-mapper-event-libs 否则docker启动不了,报错:Failed to start Docker Application Container Engine。
配置&启动服务
systemctl enable docker
systemctl start docker
docker服务就可以正常启动了。
4,docker hello world
虚拟安装一个mysql,docker非常强大的时image。在官方搜索类库非常多。
https://registry.hub.docker.com/search?q=library
docker的注册中心,里面有很多做好的镜像库。
mysql的安装:
/mysql/”>https://registry.hub.docker.com//mysql/
安装mysql过程,设置数据库docker-mysql,版本5.5
# docker run --name docker-mysql -e MYSQL_ROOT_PASSWORD=docker-mysql -d mysql:5.5
Unable to find image 'mysql:5.5' locally
Trying to pull repository docker.io/mysql ...
2f08318d65b3: Pulling dependent layers
511136ea3c5a: Download complete
4f903438061c: Download complete
1265e16d0c28: Download complete
ac1d5afd7b69: Download complete
7c89455832dd: Downloading [===========================> ] 4.434 MB/8.077 MB 34s
查看docker镜像:
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e59ad4702626 mysql:5.5 "/entrypoint.sh mysq 2 minutes ago Up 2 minutes 3306/tcp docker-mysql
查看mysql的docker服务器,直接登录到mysql容器,就安装好了mysql。同时服务也启动了,测试mysql docker启动成功。
docker exec -it docker-mysql bash
docker exec -it docker-mysql bash
root@e59ad4702626:/# mysql -uroot -pdocker-mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.5.43 MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
mysql>
同时这个是一个虚拟的服务器,上面安装的mysql。
总结
使用最快的方式体验了下docker,启动速度还是挺快的。通过容器隔离,最快的启动了服务。
非常的方便,同时docker hub上面有很多创建好的镜像,搭建环境非常方便了。
接下来继续研究其他的。
这个总结的不错,还挺全面的。
http://dockerpool.com/static/books/docker_practice/image/pull.html
其他
2015.04.12日,参加了dockone的活动,学习docker。
这个是当天的活动:有ppt下载。
http://dockerone.com/article/305