Docker学习

https://www.docker.com/
Docker is the world's leading software containerization platform

1、什么是Docker

Docker是一个用来装应用的容器,就像杯子用来装水,你可以把Hello World放在Docker,也可以把网站放在Docker中,把任何你想得到程序放在Docker

由Docker公司开源,公布在github上
跨平台,支持Windows、MacOS、Linux

2、理解Docker

2.1 集装箱

2.2 标准化

  • 运输方式标准化
  • 存储方式标准化
  • API接口标准化

2.3 隔离

2.4 Docker解决了什么问题

把操作系统、jdk、tomcat、代码、配置都放到集装箱里,用鲸鱼运送到服务器上,解决了运行环境不一致
让快速扩展弹性伸缩变得简单

3、走进Docker

Docker的作用,去仓库把镜像拉到本地,命令启动变成容器
Build 构建镜像
Ship 运输镜像
Run 运行镜像

3.1 镜像

镜像就是一系列的文件,应用的文件、应用的运行环境的文件ee

3.2 容器

容器本质是一个进程

3.3 仓库

3.4 安装Docker

apt-get install -y docker.io  安装命令
service docker start 服务器启动

3.5 第一个docker镜像

docker pull [OPTIONS] NAME[:TAG]   拉取的命令
docker images [OPTIONS] [REPOSITORY[:TAG]]   
docker run [OPTIONS] IMAGE[:TAG][COMMAND][ARG...]


开始敲命令
docker images
docker pull hello-world    默认到docker提供的仓库下载
docker run hello-world    

4、Nginx服务

用Docker运行Nginx
Nginx是一个持久运行的容器
Nginx可以选择前台挂起&后台运行
进入容器内部

docker images 查看信息
docker pull hub.c.163.com/library/nginx:latest 从网易蜂巢拉取
docker run hub.c.163.com/library/nginx
docker ps 查看运行的容器
docker run -d hub.c.163.com/library/nginx 后台运行
docker exec -it f4 bash   f4是pid根据docker ps 查看
docker stop pid

Docker网络
网络类型:Bridge Host使用宿组机的网络 None
若选择Bridge则需要端口映射

docker run -d -p 8080:80 hub.c.163.com/library/nginx  做一个端口映射
docker run -d -P hub.c.163.com/library/nginx 随机映射

5、Docker化的javaweb

制作自己的镜像
5.1 写Dockerfile

先下载tomcat作为基准镜像
docker pull hub.c.163.com/library/tomcat:latest

from hub.c.163.com/library/tomcat

MAINTAINER fengjiaping xxx@163.com

COPY jpress.war /usr/local/tomcat/webapps

5.2 docker build执行Dockerfile

必须在Dockerfile的文件中执行
docker build -t jpress:latest .
执行后输出信息
Sending build context to Docker daemon  20.8 MB
Step 1 : FROM hub.c.163.com/library/tomcat
 ---> 0785a1d16826
Step 2 : MAINTAINER fengjiaping xxx@163.com
 ---> Running in 253b161090a4
 ---> 3a3e5d8b63dd
Removing intermediate container 253b161090a4
Step 3 : COPY jpress.war /usr/local/tomcat/webapps
 ---> 68ca4f225d78
docker run -d -p 8888:8080 jpress
启动查看是否成功

启动一个mysql

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Fj93092800 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest 
docker restart d7 重启一个docker
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,607评论 0 120
  • Docker学习笔记(一)Docker初体验 什么是Docker Docker是一个虚拟环境容器,可以将开发环境、...
    陈丰尧阅读 1,068评论 0 1
  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,687评论 15 147
  • 前言 Docker 火了很长时间了,有幸体验了一段时间,平常主要用于测试环境的项目一键部署,体验不错,值得推荐。本...
    anyesu阅读 4,408评论 3 13
  • 不知道你是不是跟我一样,突然某个懒洋洋的午后,整个人懒洋洋的窝在椅子里翻看几年前的说说 ,看着看着,就 忘记了 喜...
    猴骨阅读 671评论 2 1