文档章节

Docker入门

xtuhcy
 xtuhcy
发布于 2017/10/10 10:13
字数 679
阅读 158
收藏 2
点赞 0
评论 0

windows安装docker

win10企业版

对于win10企业版直接下载,https://www.docker.com/docker-windows

win7/win10家庭版

安装docker-tollbox,https://www.docker.com/products/docker-toolbox

启动

点击Docker Quickstart Terminal启动虚拟机,默认分配192.168.99.100IP地址。

登录

使用ssh登录到该虚拟机,默认的用户名密码是docker/tcuser。

设置阿里云镜像加速

开通加速

去如下地址开通加速,https://cr.console.aliyun.com/#/accelerator

配置镜像

修改/var/lib/boot2docker/profile文件,将--registry-mirror=<your accelerate address>添加到EXTRA_ARGS中。

最后sudo /etc/init.d/docker restart重启Docker服务就可以了。

ps -ef | grep docker查看docker进程信息,如果出现刚配置的--registry-mirror就证明配置成功了。

安装镜像

搜索镜像

#搜索安装了java环境的镜像
docker search java
#搜索安装了redis的镜像
docker search redis

列表中的OFFICIAL [OK]表示是官方提供的镜像

获取镜像

#获取一个最新的jdk9的镜像
docker pull java:9

查看当前下载的镜像

docker images

删除镜像

docker rmi [imageID]

运行容器

sudo docker run -t -i java:9 /bin/bash

-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开。可以通过docker ps查询当前正在运行的容器。

deamon方式运行容器

通过添加 -d 参数来实现。docker logs [container ID or NAMES]查看输出。

终止容器

docker stop [container ID or NAMES]

删除容器

删除一个处于终止状态的容器

docker rm  [container ID or NAMES] 

清理所有处于终止状态的容器

docker rm $(docker ps -a -q)

制作镜像

利用maven的docker插件自动生成镜像

项目的根目录新建docker目录,新建Dockerfile文件:

FROM java:8
VOLUME /tmp
ADD youapp.jar app.jar
ENV JAVA_OPTS=""
ENTRYPOINT exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar

修改pom.xml,增加如下插件:

<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>1.0.0</version>
    <configuration>
        <dockerDirectory>${project.basedir}/docker</dockerDirectory>
        <dockerHost>https://192.168.99.100:2376</dockerHost>
        <dockerCertPath>C:\Users\Program Files\.docker\machine\machines\default</dockerCertPath>
        <imageName>[镜像前缀]/${project.artifactId}</imageName>
        <imageTags>
            <imageTag>${project.version}</imageTag>
        </imageTags>
        <resources>
	    <resource>
	        <targetPath>/</targetPath>
	        <directory>${project.build.directory}</directory>
	        <include>${project.build.finalName}.jar</include>
	        </resource>
	    </resources>
    </configuration>
</plugin>
				    

执行构建指令

mvn clean package docker:build

成功后通过docker images能查到刚才打包的镜像。

镜像上传阿里云docker仓库

创建阿里云仓库,登录网站https://cr.console.aliyun.com/,创建镜像仓库。新建命名空间,填写项目名最好和maven的project.artifactId保持一致。

配置认证信息,在maven的settings.xml中加入:

<servers>
	<server>
		<id>docker-my</id>
		<username>用户名</username>
		<password>密码</password>
		<configuration>
			<email>邮箱</email>
		</configuration>
	</server>
</servers>

修改pom.xml

#修改imageName
<imageName>registry.cn-qingdao.aliyuncs.com/命名空间/${project.artifactId}</imageName>
#新增serverId,填写Settings.xml里配置的信息
<serverId>docker-my</serverId>

maven指令上传到私有docker仓库

mvn clean package docker:build -DpushImageTag

© 著作权归作者所有

共有 人打赏支持
xtuhcy

xtuhcy

粉丝 103
博文 16
码字总数 18277
作品 1
北京
后端工程师

暂无文章

sklearn学习笔记之简单线性回归

简单线性回归 线性回归是数据挖掘中的基础算法之一,从某种意义上来说,在学习函数的时候已经开始接触线性回归了,只不过那时候并没有涉及到误差项。线性回归的思想其实就是解一组方程,得到...

wangxuwei
3分钟前
0
0
feign之动态interceptor(二)

背景 上文提到了按照不同的feignClient可以根据多个不同的key来进行多个不同的bean的配置 那么我们如何完成多个interceptor的配置呢? 分析 我们刚提到多个配置的玄机就在FeignClientProper...

Mr_Qi
5分钟前
1
0
Linux Kernel 4.16 系列停止维护,用户应升级至 4.17

知名 Linux 内核维护人员兼开发人员 Greg Kroah-Hartman 近日在发布 4.16.18 版本的同时,宣布这是 4.16 系列的最后一个维护版本,强烈建议用户立即升级至 4.17 系列。 Linux 4.16 于 2018 年...

问题终结者
30分钟前
0
0
Apache配置时.htaccess失效不起作用的原因分析

.htaccess 失效的原因 1. 重写规则有问题,检查自己的重写规则 2.Apache配置问题,配置中没有配置启用 rewrite a2enmod rewrite 3.网站配置文件没有启用配置需要配置 000-default.conf <Dire...

TU-DESGIN
50分钟前
1
0
两个求最大公约数C/C++算法实现

#include<stdio.h> #include<time.h> #include <iostream>using namespace std;//求最大公约数 LCD(Largest Common Division)//短除法 //m=8251, n=6105; int LCD_ShortDiv(int m, ......

失落的艺术
56分钟前
1
0
QueryPerformanceCounter

windows的Sleep函数,睡眠线程指定毫秒数,可以用来做毫秒延时。 对于微秒延时,没有一个现成的函数,但是可以通过 QueryPerformanceFrequency QueryPerformanceCounter 来间接实现。原理就是...

开飞色
今天
1
0
log4j2使用AsyncRoot不显示行号问题处理

<AsyncRoot level="info" includeLocation="true"> <AppenderRef ref="File"/></AsyncRoot><!--1.异步logger,还需要在pom.xml中添加disruptor的依赖。2.includeLocation结合异......

小翔
今天
3
0
安卓手机上 K 歌,声音延迟怎么解决?

这篇文章可以为你提供一个解决录音和播放同步问题的思路,而且解决了声音从手机传输到耳机上有延时的问题。 初识音频 在开始之前,我先简单介绍一下音频相关的基础知识,方便下文理解。 我们...

编辑部的故事
今天
2
0
使用token实现在有效期内APP自动登录功能

使用token实现在有效期内APP自动登录功能 http://sevennight.cc/2016/07/19/auto_login_impl.html

风云海滩
今天
2
0
Spring Boot集成RabbitMQ发送接收JSON

默认情况下RabbitMQ发送的消息是转换为字节码,这里介绍一下如何发送JSON数据。 ObjectMapper 最简单发送JSON数据的方式是把对象使用ObjectMapper等JSON工具类把对象转换为JSON格式,然后发送...

小致dad
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部