Docker入门

什么是Docker

官网的描述是这样的:

Docker is the world's leading software container platform.

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

解决了什么问题

  • Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers.
  • Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density.
  • Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux, Windows Server, and Linux-on-mainframe apps.

应用场景

  • web应用的自动化打包和发布
  • 自动化测试和持续集成,发布
  • 在服务型环境中部署和调整数据库或其他的后台应用;
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

开始

安装

进入官网:选择相应的版本

 

官网的教程.png

安装步骤根据每个系统都写的很详细,在这里我就不再赘述了!
安装成功之后,在终端输入 docker version查看安装是否成功

dockerVersion.png

我在linux机器上安装的时候,出的错误:

Got permission denied while trying to connect to the Docker daemon socket at Unix:///var/run/docker.sock: Get 
 http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial Unix /var/run/docker.sock: connect: permission denied

解决方案:
把当前用户加入docker用户组。

$sudo gpasswd -a ${USER} docker

查看是否添加成功?

$ cat /etc/group | grep ^docker

重启docker服务

$ sudo service docker restart

最后,如果还不行,请重启或者注销用户,再次登录!

走进Docker

Build Ship Run 三个关键词
Docker镜像:一系列的文件;
Docker容器:
Docker仓库:
网易蜂巢镜像
官方镜像

第一个容器

例子:jress官网
制作自己的容器:1.首先下载jpress的war包,放到工作目录:work
2.执行命令,拉取tomcat的镜像,等到拉取完毕,查看镜像

$ docker pull hub.c.163.com/library/tomcat:latest  //拉取镜像
...
....
$ docker images //查看镜像

tomcat镜像默认的配置:

TOMCAT.png

 

3.编写Dockerfile

$ sudo vim Dockerfile 

加入如下内容:
FROM hub.c.163.com/library/tomcat:latest
MAINTAINER cuteximi [email protected]
COPY jpress.war /usr/local/webapps

dockerfile.png

 

4.Build
执行命令:

$ docker build . -t jpress:lastest   //有个点

build.png

运行第一个容器

1.查看镜像:docker images
发现我们制作好的镜像已经存在了.

images.png

 

2开始启动我们的镜像:

$ docker run -d -p 8888:8080 jpress:lastest

run.png

 

3.在浏览器查看我们的项目

result.png

docker的命令

点击查看命令大全

推荐的学习网站

官网
中文docker社区
csdn的Docker知识库

你可能感兴趣的:(java,大数据探索)