docker是什么
Docker:是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的,可移植的,自给自足的容器。
Docker的核心概念:镜像、仓库、容器
Docker镜像:是一个特殊的文件系统,提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。
Docker 容器(Container):来运行应用。容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
仓库(Repository):是集中存放镜像文件的场所
一次完整docker的操作流程
一般的流程中,client发pull命令从仓库把image拉到docker host,然后通过run命令指挥image到host上面弄一个container来跑这个image。
当然也可以是相反的流程,client 通过build命令在host上面创建一个自己的image,然后通过push命令把image推到仓库。之后这个image可以被别的人或者自己pull。
DOCKER在windows上的安装
检查电脑环境
检查版本,为了运行docker,你的机器必须是windows7或以上的64bit系统。
另外,你的机器必须支持硬件虚拟化技术(Hardware Virtualization Technology)并且已被启用。对于windows10系统来说,你可以在 任务管理器->性能 中查看到你的电脑是否开启了虚拟化
怎么开启虚拟化,因为电脑型号不一样,所以每台电脑进入BOIS的方式不一样,重启电脑,我的电脑是Lenovo的ThinkPad,所以我按的是F1,进入BOIS页面,找到Security,把Security下面的Virtualization里面的Intel(R) Virtualization Technology的状态改为Enable
然后再重启就好了。
下载dockerToolbox
https://get.daocloud.io/toolbox/,下载新版本
全部next就可以了
安转成功之后桌面会多三个图标
如果安装完成之后桌面少了一个Oracle VM VirtualBox 的话,找到你的dockertoolbox
安装目录下面的installers下面的virtualbox,双击virtualbox.msi进行安装。
双击Docker Quickstart Terminal图标,启动一个终端,第一次运行会比较就,一般会报下载对应的镜像iso到对C:下的docker路径的错误,把dockertoolbox下的boot2docker.iso复制放到你docker运行下载镜像的位置,再重新启动就可以了。
启动成功会出现这样的界面
docker在linux上的安装
1.安装docker
yum install docker.x86_64
- 启动Docker
service docker startlinux常用命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85ls -a(同时列出隐含文件), -l(输出一个比较完整的格式,除每个文件名外,增加显示文件
类型、权限、硬链接数、所有者名、组名、大小(byte)、及时间信息-----简化为 ll)
mkdir 新建目录 例:mkdir test 命令会在当前目录下建立一个名为“test”的新目录
touch 创建文件 例:touch test/readme.txt 在 test 目录下创建 readme.txt文件
cd 切换目录 cd /. 到根目录 cd .. 上一级目录 cd /hahaha/hahaha 到指定目录
pwd 显示当前目录
mv 移动/重命名(加上 -i 参数询问是否覆盖) mv hello rock/ 移动到rock目录下
mv hello rock 重命名为rock
cp 拷贝 (加上 -i 参数询问是否覆盖,-r 参数递归调用)
cp -ir test/ workspace"(递归复制 test 目录到 workpace 目录下并在覆盖时提示)
rm 删除 (加上 -i 参数确认提示,-r 参数递归调用)
rm -ir test/ 递归删除test目录及其子目录并询问
wget url 下载文件到当前目录
sudo 暂时获取超级用户权限(有默认时长)加上 -i 参数 没有时间限制,输入 exit或logout 退出
su 账户名 切换到某某用户模式,没有时间限制
ZIP 工具:
压缩文件 zip target.zip filename
压缩文件夹 zip -r target.zip dir -r 参数表示递归压缩子目录
解压 unzip target.zip
tar 工具:
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用
其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名
例:tar -xvf file.tar //解压 tar包
tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java //解压jdk到指定文件夹
tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用
compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
vim 编辑器: vim test.cpp
vim 有两种模式,一种是普通模式,另一种是插入模式。执行上述命令以后进入普通模式。
按下字母键“i”进入插入模式,使用方向键移动光标到需要插入的位置,然后输入想要插入
的内容。编辑完成后按键“Esc”退出回到普通模式,在普通模式下输入冒号“:”,然后输入
w 回车,保存更改。接着输入“:q”退出。也可以直接输入“:wq”保存并退出(注意 w 一定要
在 q之前,先保存再退出)。
查找:在普通模式下输入“/查找内容”,回车,即可定位到第一个匹配项。接着按下字母
键“n”可以查找下一个。
撤销:普通模式下输入“:u”并回车,实现撤销
docker常用命令
1 |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21docker ps 查看当前正在运行的容器
docker inspect name/image[name/image...] 查看详细
docker ps -a 查看所有容器的状态
docker start/stop(-t) id/name[name...] 启动/停止某个(多个)容器 -t 指定时间
docker kill (-s) name[name...] 强制中断 -s指定SIGINT信号类型,默认“kill”
docker restart (-t) name[name...] 重启 -t 指定时间
docker pause name 暂停 docker unpause name 继续
docker rm(-$) name[name...] 移除
-f --force=false 强制移除运行中容器
-l --link=false 移除指定链接,保留底层容器
-v --volumes=false 移除容器关联卷
指令指南
1 |
|
使用dockerfile制作镜像
Docker与微服务-使用Maven插件构建Docker镜像(可以参照http://blog.csdn.net/qq_22841811/article/details/67369530)
打开我们的项目,在我们项目的src/main下面新建一个docker文件,在docker文件里面新建Dockerfile文本
FROM java:8 #From是from那个镜像,最好现在docker里面pull下来,不然构建的时候会在再下一遍
VOLUME /tmp #指定挂载点,该指令使容器中的一个目录具有持久化存储的功能,该目录可被容器本身使用,也可以共享给其他容器
1 |
|
Dockerfile文件
修改pom.xml
1 |
|
1 |
|
照上面修改后build之后的项目会报找不到2375端口的错误
需要我们去修改dockerhost的端口
1 |
|
再去修改pom.xml
1 |
|
这样build的项目就不会报错了
完美打包构建build项目。