从零开始安装、编译、部署 Docker
2016-11-28 18:12
337 查看
简介
主要介绍如何从基础系统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
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- C# clr 存储过程例子(完整从:编译到配置到存储过程的安装部署到使用)
- Linux 环境下部署Hadoop 2.x,建议尝试64位系统下进行本地编译的安装方式
- 阿里云部署Docker(8)----安装和使用redmine
- 使用autotools系列工具自动部署源代码编译安装
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- spark编译安装及部署
- Linux 环境下部署Hadoop 2.x,建议尝试64位系统下进行本地编译的安装方式
- ngx_openresty编译安装部署详解
- hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档
- 编译安装 LAMP 部署Discuz!论坛
- Ubuntu10.04上编译安装部署Mono2.10.8+Nginx1.0.11+MySQL5.5.20实战
- KFS(kosmosfs)的编译和安装部署 (step by step)
- mysql一键编译安装脚本,MySQL 主主实施部署,及读写分离
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- nginx基本编译安装部署
- Nginx实战基础篇一 源码包编译安装部署web服务器 推荐
- centos6.4 docker1.0 安装部署
- 从零开始 :Ubuntu 下编译安装ejabberd14.07