小鲸鱼[Docker]

原文:https://blog.csdn.net/sunnyzyq/article/details/101222410

(1)Docker 安装

yum -y install docker

输入语句执行后,就可以看到 Docker 它正在下载了,下面 19% 是下载进度。

当你看到下图的这个Complete,就表示 Docker 已经下载安装好了。

(2) 查看Docker版本
是否真的已经安装好了呢?我们可以通过以下命令查看Docker的版本。

docker version

此时,我们可以看到 Docker 的版本号为 1.13.1,表示真的已经安装上了。

(3) 启动Docker

service docker start

(4) 打包项目到服务器

现在 Docker 已经启动成功了,我们来实战一下,我们先将Eclipse中的项目打成jar包放到Linux上。

(5) 创建Dockerfile

在我们刚刚的项目jar包下同级目录下,创建Dockerfile文件,这个文件是玩转Docker的核心文件哦。

touch Dockerfile

现在这个Dockerfile还是一纸空文,我们需要将我们的项目 jar 包写进去。
编辑Dockerfile文件,内容如下(注意第3行第一个是你的jar包名):

FROM java:8
VOLUME /tmp
ADD com.sunnyzyq-0.1.jar app.jar
RUN bash -c ‘touch /app.jar’
EXPOSE 80
ENTRYPOINT [“java”,"-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

不想在Linux上打字的可以把文件拿出来编辑,然后放回去。

内容解释:
这里他有个镜像名词,不懂没关系,看完后面就懂了,先记住这个名词就是。

FROM :表示用哪个基础镜像去构建新的镜像,上面的java:8, 也就是jdk1.8。
ADD :表示叠加什么镜像到上面的基础镜像中。我们现在就叠加当前目录下的 com.sunnyzyq-0.1.jar 到基础镜像中。
EXPOSE:表示对外暴露的端口,我使用的是80。
RUN bash -c ‘touch /app.jar’ :使用 shell编程,执行一个 touch 命令,更新文件的访问和修改时间 -c 如果文件不存在,则不要进行创建。具体参考liunx 的 touch 命令和shell编程。
ENTRYPOINT :入口点, 表示容器运行后默认执行的命令。
(6) 拉取基础镜像 java8

docker pull java:8

上面Dockerfile说得很清楚,我们的程序需要一个基础镜像Java8,我这里由于昨天已经下载好了,所以他会提示更新,你们如果没有下载 java8 的镜像,请静等下载。

(7) 构建程序镜像
现在 java8 的基础镜像有了,就可以创建我们的程序镜像了,就是执行刚刚那个Dockerfile文件。

docker build -t xxx .
注意:xxx 为新镜像名字,随便取,别忘了最后有个点。

可以我们程序的镜像已经构建成功了,并生成了一个930858c62738的镜像ID。

(8) 查看镜像

docker images

可以看到刚刚的创建的镜像,以及我们之前下载的jave8镜像(这里还可以看到,由于我刚刚创建的镜像和昨天创建的镜像虽然名字不一样,但其他数据都一样,这说明两个镜像底层都是指的同一个)。

(9)创建容器并运行

镜像我们已经有了,但最后能让项目运行起来的是容器。如何理解容器与镜像的关系呢?
镜像可以理解为一个Java类,而容器可以理解为Java类的实例。
类只有一个,但可以new出千千万万个实例对象。
所以,镜像只是一个可以生成容器的东西,而容器才能让程序运行起来。

那么,现在我们就让我们用刚创建的镜像创建一个容器,并让他运行起来。

如: docker run --name sunnyzyq -d -p 80:80 sunnzyq-docker-test

命令解释:

容器名:我这里取的名字为 sunnyzyq
-d: 后台运行容器,并且返回容器完整ID
-p: 是用于指定端口的。
内部端口:项目程序的端口
外部端口:网站域名的端口

(10) 查看运行的容器

docker ps

这样可以看到我们刚运行容器的详细信息。
docker ps -a

仅以记录 以备不时之需

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353