JAVA草根话DOCKER之获得DOCKER神奇力量
一、感受Docker神奇力量
互联网是我们JAVA开发奋斗和拼搏的舞台,开源软件日益繁盛,开发需要依赖许许多多的三方软件,导致我们浪费很多时间去钻研压根和我们开发没有半毛钱的事情,造成重复的学习成本,浪费了我们提升和生活的宝贵时间。
Docker的出现让专业的人做专业的事情,可以站在巨人的肩膀上发展自己的所长。
开源 镜像 容器 是Docker力量标签
1、开源
Docker源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Github上的代码活跃度及Redhat在REHEL6.5中集成对Docker的支持,就连Google的Compute Engine也支持docker,百度、阿里、新浪、京东也开始使用Docker作为PaaS基础。
2、镜像
Docker镜像仓库Docker hub支持镜像资源共享及完善的文档,在创建镜像时有一点要注意。Docker允许你在一个镜像中指定卷和端口。从这个镜像创建的容器继承了这些设置。但是,Docker不允许你在镜像上指定任何不可移植的内容。
3、容器
基于Linux操作系统的Namespace和CGroup功能实现的隔离容器,模拟操作系统的功能,因为它比虚拟机高了一层,也就需要少一层东西,所以容器占用资源少。在接纳了“容器并不是全封闭”这种思想以后,开源社区尤其是红帽公司,连同Docker一起改进Docker的安全性,改进项主要包括保护宿主不受容器内部运行进程的入侵、防止容器之间相互破坏。
二、学会Docker神奇力量
隔离应用依赖
创建应用镜像并进行复制
建容易分发的即启即用的应用
允许实例简单、快速地扩展
测试应用并随后销毁它们
1、购置虚拟主机
随着云计算的发展,我们开发环境最好在云端,这样可以降低自己电脑损坏的文件丢失的风险,减轻开发电脑的运行负荷。
推荐大家使用阿里云,点击此链接可以领取1000元优惠券,如果你是学生还能加入云翼计划获得9.9元一个月的虚拟机优惠。
2、学会Linux基本操作
(1)、关闭selinux
查看selinux开启状态
sestatus
关闭selinux
vi /etc/selinux/config
编辑
SELINUX=enforcing <==调整 enforcing|disabled|permissive
SELINUXTYPE=targeted <==目前仅有 targeted 与 strict
(2)、软件安装神器yum
升级yum
yum update
安装docker
yum install docker --安装
systemctl start docker --启动
systemctl enable docker --开机启动
3、牛刀小试
安装mariadb(是mysql作者写的一款mysql的升级版本数据库)
docker search mariadb --搜索镜像
docker pull mariadb --安装镜像
cd /usr --创建工作目录
mkdir dockerdir
cd dockerdir
mkdir mariadb01
cd mariadb01 --进入工作目录
pwd --查看路径
启动镜像
docker run -p 3307:3306 -v /usr/dockerdir/mariadb01:/var/lib/mysql --name docker-mariadb01 -e MYSQL_ROOT_PASSWORD=ya0gs1651D -d mariadb
镜像操作
docker ps -a --查看容器
docker start 4fffe5fe95a2 --启动容器
docker stop 4fffe5fe95a2 --停止容器
docker rm 4fffe5fe95a2 --删除容器
docker logs 4fffe5fe95a2 --容器日志
三、使用Docker神奇力量
MySQL
ZooKeeper
Redis
RabbitMQ
ActiveMQ
1、MySQL
下载
docker pull daocloud.io/library/mysql:5.7.4
启动
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 -v /home/docker/Volumn/mysql:/var/lib/mysql daocloud.io/library/mysql:5.7.4
2、zookeeper
下载
docker pull zookeeper:3.5
启动
docker run --name zookeeper -d -p 2181:2181 zookeeper:3.5
3、Redis
下载
docker pull daocloud.io/library/redis:3.2.9
启动
docker run --name redis -d -p 6379:6379 daocloud.io/library/redis:3.2.9
docker exec -it 1c8a9884a7d2 bash
这个镜像包含EXPOSE 6379 (Redis默认端口),所以可以通过link容器的方式访问Redis
4、RabbitMQ
下载
docker pull daocloud.io/library/rabbitmq:3.5.1-management
启动
docker run -d -p5671:5671 -p5672:5672 -p15672:15672 -p15671:15671 -p25672:25672 --name rabbitMq daocloud.io/library/rabbitmq:3.5.1-management
5、ActiveMQ
下载
docker pull registry.cn-hangzhou.aliyuncs.com/sherry/activemq:5.13.0
启动
docker run -d -p 61616:61616 -p 8161:8161 registry.cn-hangzhou.aliyuncs.com/sherry/activemq:5.13.0
http://localhost:8161,打开管理界面,admin/admin