Docker

应用容器引擎,沙箱机制,可直接使用主机操作系统的资源进行虚拟化

内容:数据管理、构建镜像、部署微服务

应用场景: 解决 成熟项目(例如go语言开发)的部署,端口冲突,mysql版本冲突等

client (build  、pull、run ) ===>  host (containers 、images)====> Registory远程仓库

安装Docker (一般基于 Centos7,JDK1.8 以上)

yum install -y docker 

三大组件:镜像、容器、仓库

镜像

运行程序,首先要有一个镜像,Docker仓库官网   hub.docker.com

以安装 redis为例 :

1、hub.docker.com 找到redis镜像 ,指定Tags版本号

2、docker pull redis:5    (默认最新版,这个是指定版本为5)

下载速度慢,阿里云提供了加速器   www.aliyun.com

docker images  #查看镜像

docker cmi   # 删除镜像操作

docker exec -it 容器名字  /bin/bash   #进入容器进行操作 (-i 标准输入 , -他给一个伪终端)

ctrl + d 退出容器

docker logs -f  容器名字/容器id   #查看日志 

ctrl+c 退出

 

容器:

docker ps    # 查看当前运行的容器

docker  ps -a  #查看所有容器

docker create --name redis -p 16379:6379  redis:5     

                                 容器名字  指定端口  当前机器端口号:容器内部端口号    运行镜像

docker start redis  #启动容器

docker stop redis  #关闭容器

docker run   #相当于 create+start

--help   #帮助

docker  rm  容器名字  -f    #强制删除容器

仓库:  官网仓库、阿里云仓库、本地私服

数据卷:

Docker容器运行一个数据库,数据存储在容器之外,主机目录上

create容器时, -v 指定主机目录,挂载到容器中的某个目录,容器就可以写读数据了

1、下载mysql镜像   https://hub.docker.com/percona  (mysql衍生版,性能比官网高)   ,下载到 /data/mysql-data中

docker pull  

2、创建容器

docker create --name percona -v  /data/mysql-data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root

3、查看

docker ps -a

docker start percona

cd data/

cd mysql-data/

远程连接数据库测试

把项目做成镜像,然后运行

制作Docker镜像

1、基于jdk8    pull  java:8

2、mkdir /temp/eureka

3、上传jar包

4、vim Dockerfile    copy内容至文本

5、构建 

docker build -t  

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页