一:关于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
二:安装centos
在使用virtualbox安装的时候需要把网络修改成【Bridged A’dapter】,方便获得上网ip,ssh连接到虚拟机。
centos7 可以直接使用yum 安装docker
最懒的方式,只是为了学习docker省去了折腾环境的麻烦。
直接使用iso进行安装就行了。
三:安装docker
直接安装就可以了: yum install golang docker device-mapper-event-libs
必须安装 device-mapper-event-libs 否则docker启动不了,报错:Failed to start Docker Application Container Engine。
配置&启动服务
1:systemctl enable docker
2:systemctl start docker
docker服务就可以正常启动了。
四: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
1:# docker run --name docker-mysql -e MYSQL_ROOT_PASSWORD=docker-mysql -d mysql:5.5
2:Unable to find image 'mysql:5.5' locally
3:Trying to pull repository docker.io/mysql ...
4:2f08318d65b3: Pulling dependent layers
5:511136ea3c5a: Download complete
6:4f903438061c: Download complete
7:1265e16d0c28: Download complete
8:ac1d5afd7b69: Download complete
9: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
1 docker exec -it docker-mysql bash
2 root@e59ad4702626:/# mysql -uroot -pdocker-mysql
3 Welcome to the MySQL monitor. Commands end with ; or \g.
4 Your MySQL connection id is 5
5 Server version: 5.5.43 MySQL Community Server (GPL)
6
7 Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
8
9 Oracle is a registered trademark of Oracle Corporation and/or its
10 affiliates. Other names may be trademarks of their respective
11 owners.
12
13 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
14
15 mysql> show databases;
16 +--------------------+
17 | Database |
18 +--------------------+
19 | information_schema |
20 | mysql |
21 | performance_schema |
22 +--------------------+
23 3 rows in set (0.00 sec)
24
25 mysql>
同时这个是一个虚拟的服务器,上面安装的mysql。