简介

主要介绍如何从基础系统debian部署docker
关于docker基础知识在 相关资料 里有链接

安装docker

1、使用root用户身份添加apt源
添加public key使docker的安装源授信

$ curl -s 'https://sks-keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d56f59a178ac6c6238f52e' | sudo apt-key add --import

安装apt的https支持

sudo apt-get update && sudo apt-get install apt-transport-https

安装image虚拟化支持

sudo apt-get install -y linux-image-extra-virtual

添加apt源

echo "deb https://packages.docker.com/1.11/apt/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list

安装docker

apt-get update && apt-get install docker-engine

查看是否安装成功

docker info

看到以下信息就安装成功了

Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 15
Server Version: 1.11.2-cs3
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 17
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge null host
Kernel Version: 3.16.0-4-amd64
Operating System: Debian GNU/Linux 8 (jessie)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 3.871 GiB
Name: debian
ID: IWCZ:QXXZ:VBUN:UMF7:XRG3:CMXB:6LUO:F65C:OA6B:75QQ:7SEW:3OKT
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/

制作基础软件镜像

jdk8

首选需要安装jdk,这里使用jdk8进行安装
download jdk
同目录下编写Dockerfile

FROM registry.cn-hangzhou.aliyuncs.com/yuuji/debian:latest

ADD jdk-8u101-linux-x64.tar.gz /opt

ENV JAVA_HOME /opt/jdk1.8.0_101

WORKDIR /usr/bin
RUN ln -s /opt/jdk1.8.0_101/bin/java java

目录结构如下:

编译发布

docker build -t jdk8 .

也可以在docker hub服务器创建仓库发布到远程

docker build -t registry.cn-hangzhou.aliyuncs.com/xxx/jdk8 .
docker push registry.cn-hangzhou.aliyuncs.com/xxx/jdk8

发布后可以到远程查看,也可以使用命令查看

docker images

mave3

基于jdk8我们在制作一个maven3的image,步骤同上,我就不一一列举命令了;
Dockerfile

FROM registry.cn-hangzhou.aliyuncs.com/yuuji/jdk8:latest

ADD settings.xml /root/.m2/settings.xml
ADD apache-maven-3.3.9-bin.tar.gz /opt WORKDIR /usr/bin
RUN ln -s /opt/apache-maven-3.3.9/bin/mvn mvn

发布,查看是否成功

制作软件错误

如果过程中遇到错误怎么办
使用 命令 docker images 如果看到了none的可以使用命令 docker rmi IMAGE ID 进行清理;
如果清理不掉的话是这个镜像被使用了,使用docker ps -a 然后找到使用的CONTAINER
然后 docker rm CONTAINER ID

编译项目与部署

这里是通过spring-boot首先项目可以启动
然后在项目跟目录下建立Dockerfile

FROM registry.cn-hangzhou.aliyuncs.com/yuuji/maven3:latest

EXPOSE 7001

RUN mkdir -p /opt/leona
WORKDIR /opt/leona
ADD . /opt/leona RUN mvn clean install -Dmaven.test.skip CMD ["java","-jar","target/leona.jar"]

端口号 7001 是你spring-boot web配置的

结构如下:

然后编译image 同软件,这里我就不发布到远程了

docker build -t xxx .

最终的本地仓库docker images

部署

已经编译好了软件和程序的image接下来就是部署了

docker run -d -p 7001:7001 xxx

检查一下curl localhost:7001

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Leona</title>
</head>
<body>
hello word!
</body>
</html>

是不是很简单? 233

具体参数不解释了,可以自己查;

相关资料

关于docker
参考官方安装文档
docker hub服务器

用云栖社区APP,舒服~

【云栖快讯】映客、熊猫TV、虎扑、HTC、优酷土豆、网聚宝、博云视觉、钉钉、驻云、e代驾……互联网时代知名企业现场分享他们的云端体验,更有意想不到的重磅神秘嘉宾来袭!8月9日,北京云栖大会即将直播!  详情请点击

从零开始安装、编译、部署 Docker的更多相关文章

  1. Jenkins教程——从安装到部署Docker服务(一)安装Jenkins

    前言 写了好久Jenkins的脚本了,写得虽然不是太好,但是可以基本满足需要,最近比较忙,这个月也没怎么更新博客,开始更新Jenkins这个系列的文章,打算从安装Jenkins -> 流水线工程 ...

  2. Jenkins教程——从安装到部署Docker服务(二)声明式流水线HelloWorld

    前言 本文通过一个声明式流水线的HelloWorld程序做一下流水线基础入门,对常用的流水线参数进行简要说明 什么是流水线 现实中的流水线 流水线比较好理解,类比于现实生活中的生产流水线,每个流程只做 ...

  3. 014.Kubernetes二进制部署docker

    一 部署docker 1.1 部署docker组件 docker 运行和管理容器,kubelet 通过 Container Runtime Interface (CRI) 与它进行交互. 1.2 下载 ...

  4. docker安装tomcat&部署javaweb程序

    一.docker定制简单的java-web应用镜像 网址: 1.jdk下载网址:https://www.oracle.com/technetwork/java/javase/downloads/jdk ...

  5. Linux下部署docker记录(0)-基础环境安装

    以下是centos系统安装docker的操作记录 1)第一种方法:采用系统自带的docker安装,但是这一般都不是最新版的docker安装epel源[root@docker-server ~]# wg ...

  6. CRFPP/CRF++编译安装与部署

    CRFPP/CRF++编译安装与部署 下载CRF++ https://taku910.github.io/crfpp/#download 说明:在上面网站中下载CRF++ 0.58 解压 tar zx ...

  7. 从零开始安装 Ambari (4) -- 通过 Ambari 部署 hadoop 集群

    1. 打开 http://192.168.242.181:8080  登陆的用户名/密码是 : admin/admin 2. 点击 “LAUNCH INSTALL WIZARD”,开始创建一个集群 3 ...

  8. Spark Tachyon编译部署(含单机和集群模式安装)

    Tachyon编译部署 编译Tachyon 单机部署Tachyon 集群模式部署Tachyon 1.Tachyon编译部署 Tachyon目前的最新发布版为0.7.1,其官方网址为http://tac ...

  9. Docker安装与部署

    安装Docker: 查看你当前的内核版本: uname -r 更新yum包: sudo yum update 卸载旧版本(如果安装过旧版本的话): sudo yum remove docker doc ...

随机推荐

  1. excel 正则表达式用法

    Private Sub RegEx_Replace()        Dim myRegExp As Object      Dim Myrange As Range, C As Range      ...

  2. Jexus高级功能设置

    我们对服务器软件Jexus作了简单的介绍,同时我们也对Jexus的整体配置作了详细的讲解,介绍了Jexus的进程守护工具"jws.guard",相信各位读者对于Jexus应该已经有 ...

  3. WCF系列教程之WCF服务配置

    文本参考自:http://www.cnblogs.com/wangweimutou/p/4365260.html 简介:WCF作为分布式开发的基础框架,在定义服务以及消费服务的客户端时可以通过配置文件 ...

  4. centos安装图形操作界面

    yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

  5. feign中的hytrix和turbin配置

    这里我用了两个生产者和两个消费者进行演示,如下图(画的不好看,凑活看看): 这里我就只讲下怎么注册到dashbord和相关的配置,提供者和消费者等代码可以去下载查看: https://github.c ...

  6. vue遇见better-scroll

    better-scroll better-scroll 是一款重点解决移动端(现已支持 PC 端)各种滚动场景需求的插件.它的核心是借鉴的 iscroll 的实现,它的 API 设计基本兼容 iscr ...

  7. 解决Ubuntu 18.04中文输入法的问题

    https://ywnz.com/linuxjc/1637.html

  8. Dubbo源码解读

    1.提升SOA的微服务架构设计能力   通过读dubbo源码是一条非常不错的通往SOA架构设计之路,毕竟SOA的服务治理就是dubbo首先提出来的,比起你去看市面上的SOA微服务架构的书籍,学到的架构 ...

  9. 转载:怎么用eclipse开发C++程序(以后备用,待实现),使用CDT

    一:准备工作:需下载以下三个软件包 a).Eclipse 3.1 官方站点: http://www.eclipse.org 工具下载地址:http://www.eclipse.org/download ...

  10. [转] sqlserver 中查看trigger的disabled/enabled情况

    本文转自:http://blog.csdn.net/miqi770/article/details/48708199 SELECT t.name AS TableName, tr.name AS Tr ...