从零开始安装、编译、部署 Docker
简介
主要介绍如何从基础系统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
具体参数不解释了,可以自己查;
相关资料
用云栖社区APP,舒服~
从零开始安装、编译、部署 Docker的更多相关文章
- Jenkins教程——从安装到部署Docker服务(一)安装Jenkins
前言 写了好久Jenkins的脚本了,写得虽然不是太好,但是可以基本满足需要,最近比较忙,这个月也没怎么更新博客,开始更新Jenkins这个系列的文章,打算从安装Jenkins -> 流水线工程 ...
- Jenkins教程——从安装到部署Docker服务(二)声明式流水线HelloWorld
前言 本文通过一个声明式流水线的HelloWorld程序做一下流水线基础入门,对常用的流水线参数进行简要说明 什么是流水线 现实中的流水线 流水线比较好理解,类比于现实生活中的生产流水线,每个流程只做 ...
- 014.Kubernetes二进制部署docker
一 部署docker 1.1 部署docker组件 docker 运行和管理容器,kubelet 通过 Container Runtime Interface (CRI) 与它进行交互. 1.2 下载 ...
- docker安装tomcat&部署javaweb程序
一.docker定制简单的java-web应用镜像 网址: 1.jdk下载网址:https://www.oracle.com/technetwork/java/javase/downloads/jdk ...
- Linux下部署docker记录(0)-基础环境安装
以下是centos系统安装docker的操作记录 1)第一种方法:采用系统自带的docker安装,但是这一般都不是最新版的docker安装epel源[root@docker-server ~]# wg ...
- CRFPP/CRF++编译安装与部署
CRFPP/CRF++编译安装与部署 下载CRF++ https://taku910.github.io/crfpp/#download 说明:在上面网站中下载CRF++ 0.58 解压 tar zx ...
- 从零开始安装 Ambari (4) -- 通过 Ambari 部署 hadoop 集群
1. 打开 http://192.168.242.181:8080 登陆的用户名/密码是 : admin/admin 2. 点击 “LAUNCH INSTALL WIZARD”,开始创建一个集群 3 ...
- Spark Tachyon编译部署(含单机和集群模式安装)
Tachyon编译部署 编译Tachyon 单机部署Tachyon 集群模式部署Tachyon 1.Tachyon编译部署 Tachyon目前的最新发布版为0.7.1,其官方网址为http://tac ...
- Docker安装与部署
安装Docker: 查看你当前的内核版本: uname -r 更新yum包: sudo yum update 卸载旧版本(如果安装过旧版本的话): sudo yum remove docker doc ...
随机推荐
- excel 正则表达式用法
Private Sub RegEx_Replace() Dim myRegExp As Object Dim Myrange As Range, C As Range ...
- Jexus高级功能设置
我们对服务器软件Jexus作了简单的介绍,同时我们也对Jexus的整体配置作了详细的讲解,介绍了Jexus的进程守护工具"jws.guard",相信各位读者对于Jexus应该已经有 ...
- WCF系列教程之WCF服务配置
文本参考自:http://www.cnblogs.com/wangweimutou/p/4365260.html 简介:WCF作为分布式开发的基础框架,在定义服务以及消费服务的客户端时可以通过配置文件 ...
- centos安装图形操作界面
yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
- feign中的hytrix和turbin配置
这里我用了两个生产者和两个消费者进行演示,如下图(画的不好看,凑活看看): 这里我就只讲下怎么注册到dashbord和相关的配置,提供者和消费者等代码可以去下载查看: https://github.c ...
- vue遇见better-scroll
better-scroll better-scroll 是一款重点解决移动端(现已支持 PC 端)各种滚动场景需求的插件.它的核心是借鉴的 iscroll 的实现,它的 API 设计基本兼容 iscr ...
- 解决Ubuntu 18.04中文输入法的问题
https://ywnz.com/linuxjc/1637.html
- Dubbo源码解读
1.提升SOA的微服务架构设计能力 通过读dubbo源码是一条非常不错的通往SOA架构设计之路,毕竟SOA的服务治理就是dubbo首先提出来的,比起你去看市面上的SOA微服务架构的书籍,学到的架构 ...
- 转载:怎么用eclipse开发C++程序(以后备用,待实现),使用CDT
一:准备工作:需下载以下三个软件包 a).Eclipse 3.1 官方站点: http://www.eclipse.org 工具下载地址:http://www.eclipse.org/download ...
- [转] sqlserver 中查看trigger的disabled/enabled情况
本文转自:http://blog.csdn.net/miqi770/article/details/48708199 SELECT t.name AS TableName, tr.name AS Tr ...