从零开始安装、编译、部署 Docker

来源:互联网 发布:使命召唤12js模式 编辑:程序博客网 时间:2024/06/08 20:27

简介

主要介绍如何从基础系统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: 0Images: 15Server Version: 1.11.2-cs3Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 17 Dirperm1 Supported: trueLogging Driver: json-fileCgroup Driver: cgroupfsPlugins:  Volume: local Network: bridge null hostKernel Version: 3.16.0-4-amd64Operating System: Debian GNU/Linux 8 (jessie)OSType: linuxArchitecture: x86_64CPUs: 1Total Memory: 3.871 GiBName: debianID: IWCZ:QXXZ:VBUN:UMF7:XRG3:CMXB:6LUO:F65C:OA6B:75QQ:7SEW:3OKTDocker Root Dir: /var/lib/dockerDebug mode (client): falseDebug mode (server): falseRegistry: https://index.docker.io/v1/

制作基础软件镜像

jdk8

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

FROM registry.cn-hangzhou.aliyuncs.com/yuuji/debian:latestADD jdk-8u101-linux-x64.tar.gz /optENV JAVA_HOME /opt/jdk1.8.0_101WORKDIR /usr/binRUN 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:latestADD settings.xml /root/.m2/settings.xmlADD apache-maven-3.3.9-bin.tar.gz /optWORKDIR /usr/binRUN 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:latestEXPOSE 7001RUN mkdir -p /opt/leonaWORKDIR /opt/leonaADD . /opt/leonaRUN mvn clean install -Dmaven.test.skipCMD ["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

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

0 0
原创粉丝点击