从零开始安装、编译、部署 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 

目录结构如下:
screenshot
编译发布

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配置的

结构如下:
screenshot

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

docker build -t xxx . 

最终的本地仓库docker images
screenshot

部署

已经编译好了软件和程序的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日,北京云栖大会即将直播!   详情请点击


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM