
Docker 是一个开源的应用容器引擎,是一款快速构建、运行、管理应用的工具。容器完全使用沙盒机制,互相之间不会存在任何接口。几乎没有性能开销,可以很容易的在机器和数据中心运行。最重要的是,他们不依赖任何语言、框架或包装系统。
docker search 镜像名称docker pulldocker pushdocker images [-q]docker rmi 镜像名称docker rmi 'docker images -q'docker build -t 镜像名称 .docker save -o 镜像名称.tar 镜像名称docker load -i 镜像名称.tardocker commit 容器名称 镜像名称docker ps [-a]dockers rm [f] 容器名称docker rm -f $(docker ps -a)docker create -d --name=容器名称 -p宿主机端口:容器内端口 镜像名称docker run -d --name=容器名称 -p宿主机端口:容器内端口 镜像名称docker start 容器名称docker stop 容器名称docker restart 容器名称docker pause 容器名称docker unpause 容器名称docker exec -it 容器名称 /bin/bashdocker inspect 容器名称或容器idrestart=always-v es-data(数据卷名称):/usr/share/elasticsearch/data(容器内)docker network create es-net(网络名称)-- network es-net(网络名称) -p 宿主机端口:容器内端口docker update --restart=no(相关设置) 容器iddocker volume create 数据卷名称 (位于/var/lib/docker/volume目录)docker volume inspect 数据卷名称docker volume lsdocker volume rm 数据卷名称docker volume prunedocker run -v 数据卷名称:容器内目录路径docker run -v 绝对路径:容器内目录路径docker network rm 网络名docker network lssdocker network connect 网络名称 容器名称docker network disconnect 网络名称 容器名称一、创建一个空目录,在这个空目录中创建一个文件,命名为 DockerFile,最后将 java 项目打包成 jar 包,放到这个目录中;
二、编写 Dockerfile 文件
主要编写以下信息:
Ps:Dockerfile的第一行必须是FROM;从一个基础镜像来构建基础镜像可以是基本操作系统,如Ubuntu。也可以是其他人制作好的镜像,例如:java:8-alpine
- # 指定基础镜像
- FROM java:8-alpine
-
- # 拷贝 java 项目包
- COPY ./docker-demo.jar /tmp/app.jar
-
- # 暴露端口
- EXPOSE 8090
-
- # 入口,java项目的启动命令
- ENTRYPOINT java -jar /tmp/app.jar使用 docker build 构建为一个镜像
三、使用 docker build 构建为一个镜像

通过 docker images 就可以看到刚刚构建好的镜像
四、使用 docker run 运行镜像

这时候你就可以根据服务器 IP 和自己配置的镜像映射端口号以及项目地址就可以访问了(注意:如果需要访问,别忘了开放云服务器的端口号的防火墙)。
DockerFile本质就是一个文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。每一个指令都会形成一层Layer。
1、Docker Compose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器!相当于批量的docker run。
2、Docker-Compose 将所管理的容器分为三层
工程(project):一个工程包含多个服务
服务(service):一个服务当中可包括多个容器实例
容器(container)
Docker-Compose 运行目录下的所有文件(docker-compose.yml、extends文件 或 环境变量文件等)组成一个工程,若无特殊指定 工程名即为当前目录名。
Docker Compose 的核心就是其配置文件,采用 YAML 格式,默认为 docker-compose.yml 。
在这里插入图片描述
一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。
一个服务当中可包括多个容器实例,但是:Docker-Compose 并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡,比如 Consul 技术。
Docker-Compose 的工程配置文件默认为 docker-compose.yml,可通过环境变量 COMPOSB_FILE 或 -f 参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。
Compose 允许用户通过一个单独的 docker-compose.yml 模板文件(YAML格式)来定义一组相关联的应用容器为一个项目 (project)。