一、docker简介
docker是各种软件和操作环境的容器
docker架构是c/s 由三块组成 client+host+registry组成
docker分为社区版(CE)和企业版(EE),一般用社区版就可以满足日常工作需求

二、安装
docker安装需满足两个条件,第一系统需是64位,系统内核为3.1
1、uname -r 查看系统信息
2、安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
安装前检查安装包 device-mapper-persistent-data和 lvm2是否已经安装
rpm -qa|grep device-mapper-persistent-data
rpm -qa|grep lvm2
3、设置yum源(yum是基于rpm的一般有默认的源,此处需设置docker源)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、更新yum软件包索引(源更改后需要更新本地源rpm包)
yum makecache fast

5、安装最新版本的docker-ce
yum -install docker-ce -y
yum list docker-ce.x86_64 --showduplicates | sort -r #查看指定版本的 docker-ce包
docker version (可以看到docker的客户端)
centos7命令:systemctl start docker
或 service docker start
docker version (可以看到docker的客户端和服务端)

配置开机启动:systemctl enable docker (创建软连接开机即可启动docker服务)

6、配置镜像加速 (可以提高rpm包的下载速度)

创建完后放阿里云的免费镜像加速器
1、注册阿里云的免费镜像服务
2、查看控制台找到自己的镜像加速器复制下来
3、复制下来后复制到 vi /etc/docker/daemon.json 没有就自己创建daemon.json这个文件
4、加入以下配置
#自己的加速地址
{“registry-mirrors”:[“https:XXXXX”]}
5、加载配置文件
systemctl daemon-reload
6、重启docker服务
systemctl restart docker

镜像操作命令
docker search tomcat #搜索镜像
docker images #查看本地镜像
docker pull java:8 #下载镜像
docker inspect java:8 #查看镜像源信息

启动一个镜像就是一个容器,容器和容器之间没有任何容器
容器操作命令
docker run --name tom -p 80:8080 -d tomcat:latest #启动容器(启动时间较长,原因是java.security的商源 配置问题)
docker logs tom #查看日志
docker ps 可以查看正在运行的容器
docker exec -it tom /bin/bash 进入到tomcat容器内
cd /docker.java.home/jre/lib/security/java.security
more java.security
找到securerandom.source=file:/dev/random
将 java.security文件下载到本机(sz下载)并将文件内容更改成securerandom.source=file:/dev/./urandom
exit 退出容器
docker rm -f tom #删除容器
修改java.security的商源

docker run --name tom -p 80:8080 -v /root/java.security:/docker.java.home/jre/lib/security/java.security -d tomcat:latest (启动仅需要1s)

创建镜像
springboot 项目创建镜像
1、将springboot 项目 打成jar包
2、rz上传 jar包 pup.jar
3、vi Dockerfile
FROM java:8 #指定基础镜像
ADD pup.jar /pup.jar #把可执行jar包复制到基础镜像的根目录下
EXPOSE 80 #暴露端口
ENTRYPOINT [“java”,“jar”,"/pup.jar"] #镜像运行成容器后执行的命令

4、docker build -f Dockerfile -t pup/mypro:v1