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 [email protected]

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 [email protected]
 ---> 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

你可能感兴趣的:(Docker学习)