小工具      在线工具  汉语词典  dos游戏  css  js  c++  java

1.什么是docker?

Docker是一个开源应用程序容器引擎,也是一个用于开发、交付和运行应用程序的开放平台。

1.解决环境配置问题

2. Docker 允许开发人员将他们的应用程序和依赖项打包到一个轻量级、可移植的容器中,然后将它们发布到任何流行的 Linux 机器上。

3、容器之间完全采用沙箱机制,相互之间不会有任何接口。

2、docker有什么优点?

1、快速交付产品,快速部署应用。现有的应用程序可以部署到其他机器上,从而达到一次打包、多次部署的目的。

2、Docker可以基于镜像秒级启动各种容器。启动docker相当于在主机操作系统上启动一个进程,需要几秒钟的时间。

3、每个容器都是一个完整的运行环境,容器之间相互隔离。容器完全使用沙箱机制,相互之间不会有任何接口(类似于iPhone应用程序)。更重要的是,容器的性能开销极低。

词汇表:

docker镜像(Images):docker镜像是创建Docker容器的模板,例如Centos7系统、win10镜像。

docker容器(Container):一个小型的Linux系统。容器是一个或一组独立运行的应用程序,是镜像运行时的​​实体。

3.docker安装

1.设置Docker安装仓库

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.安装Docker

sudo yum install docker-ce docker-ce-cli containerd.io

官方安装文档:https://docs.docker.com/engine/install/centos/

4.构建docker镜像前的准备工作

1. 准备可运行的应用程序包

docker-demo-0.0.1-SNAPSHOT.jar(一个 springBoot 项目)

发起请求 http://localhost:8090/   输出: Hello World !

2.编写Dockerfile

Alpine OS是一个面向安全的轻量级Linux发行版

Docker还正式支持Apline的服务,并与jdk和Alpine集成了镜像。

Dockerfile如下:

# 基于java镜像创建新镜像
FROM java:8-alpine

# 作者
MAINTAINER 12778

# 将jar包添加到容器中并更名为app.jar
ADD docker-demo-0.0.1-SNAPSHOT.jar app.jar

# 端口
EXPOSE 8080

# 运行jar包
ENTRYPOINT ["java","-jar","/app.jar"]

5. 部署与发布

1.上传jar包

scp /Users/sunww/Documents/Docker/docker-demo-0.0.1-SNAPSHOT.jar  [email protected]:/docker

2.制作一面镜子

cd /docker

docker  build -t app .   # -t:指定新镜像名, .:表示Dockfile在当前路径

镜像输出日志如下:

成功提示:成功构建 7793c98a965e -----Image id

使用docker images查看刚刚创建的镜像文件,如下图所示:

3.启动容器

docker run -d -p 8090:8090 app

-d:后台运行  -p:公开指定端口号  冒号前面是主机上的端口,冒号后面是容器内部的端口。

容器启动成功,如下图:

使用docker ps查看刚刚启动的容器,如下截图:

6、测试验证

发起请求 http://10.211.55.4:8090/   输出:Hello World !

常用命令

镜像 
docker rmi 30f3184067bd   删除镜像 
docker images 查看镜像

容器
运行docker ps,可见所有运行中的容器
启动容器 docker run -d -p 8090:8090 app
停止运行容器(fca333c9ce5f代表容器id)  docker stop fca333c9ce5f
删除容器 docker rm fca333c9ce5
docker logs 2399e3449fd1 (容器id)  查看容器日志

进入/退出到容器里面去,控制台
docker exec -it 容器id  /bin/sh
退出容器:exit

docker run hello-world   测试docker是否安装成功


附上我今天分享的docker原文

. . .

相关推荐

额外说明

Springboot - 项目启动时找不到启动类

文章目录 找不到启动类问题分析与解决 可能性二 找不到启动类问题分析与解决 找不到启动类的问题,可能在于当前项目中关于启动类并不是sources,或者项目中设定有多个source,导致程序扫描识别混乱。 正确配置如下: File–>Project Str

额外说明

推盒子游戏的C++实现

// 1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include <stdio.h>//■ #include <cstdlib> #include <conio.h> u

额外说明

Unity与 DLL文件 ☀️| 怎样使用VC++生成一个DLL文件并调用!(包括 在VS 中调用 和 在Unity中调用)

-前言 -通过VC 生成DLL文件 -在VS中生成DLL文件 -️‍-第一步:新建一个dll项目 -️‍-第二步:新建一个`.h头文件`和`.cpp源文件` -️‍-第三步:在`.h头文件`和`.cpp源文件`中编写代码 -️‍-第四步:生成dll和li

额外说明

报错解决:力扣提交后的执行结果与执行代码的结果不一致(解答错误)

问题描述 在做力扣第17道题目(电话号码的字母组合)时,写了一个递归函数,在编译器本地、在力扣设置测试用例后执行代码的结果都没有问题,但提交后答案出错。 在本地的运行结果与提交后的运行结果不一致。 这是设置测试用例后执行代码的结果: 这是提交之后的结果:

额外说明

docker 安装 sftpgo

sftpgo 简介 sftpgo 是一个功能齐全且高度可配置的 SFTP 服务器,具有可选的 HTTP/S、FTP/S 和 WebDAV 支持。支持多种存储后端:本地文件系统、加密本地文件系统、S3(兼容)对象存储、Google 云存储、Azure Bl

额外说明

neutron服务启动源码分析(二)

在上文中我们分析了neutron server的启动流程,其中有一步被我标红了,就是 通过paster.deploy 创建了neutron的app, paster.deploy 做了哪些事情呢 neutron/service.py def _run_ws

额外说明

[JAVAee]SpringBoot配置文件

目录 配置文件的介绍 配置文件的格式 properties与yml的优先级 properties配置文件的说明  基本语法 读取配置文件信息 缺点分析 yml配置文件的说明 基本语法  使用 ①与properties对比 ②配置数据类型  ③配置对象 读

额外说明

测试MySQL的事务加锁等待和锁释放

本文测试的是数据行锁,请确保表存储引擎在InnoDB的状态下,测试的数据库事务隔离级别为可重复度。 注意:在InnoDB下:只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁。 1. 初始表结构和数据如下 2. 分别打开两

额外说明

SpringBoot 图片压缩包上传、解压、存储等

import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.ZipUtil; import cn.hutool.http.HttpResponse; import cn.hutool.ht

额外说明

Windows 命令

查看 MAC、IP等信息 ipconfig/all 查看路由 route print 查看主机名 hostname 追踪网址路由 tracert www.baidu.com 推荐一个查询IP或者域名信息的工具(http://tool.chinaz

ads via 小工具