Docker 安装
1
2
3
4
5
6
7
|
还是看官方文档吧TAT https: //docs.docker.com/engine/getstarted/step_one/ 理解docker镜像和容器 镜像就是docker容器在运行的时候所使用的文件系统以及系统内核,以及其他参数。当然,docker镜像一般都会比实际的操作系统+软件要轻便的多。 容器就是一个镜像的运行实体。 |
Docker基础命令
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
#
查看docker的版本信息 $
docker version #
查看安装docker的信息 $
docker info #
查看本机Docker中存在哪些镜像 $
docker images #
检索image $
docker search ubuntu:14.04 #
在docker中获取ubuntu镜像 $
docker pull ubuntu:14.04 #
显示一个镜像的历史 $
docker history debugman007/ubt14-hadoop-hbase:v1 #
列出一个容器里面被改变的文件或者目 $
docker diff debugman007/ubt14-hadoop-hbase:v1 #
从一个容器中取日志 $
docker logs debugman007/ubt14-hadoop-hbase:v1 #
显示一个运行的容器里面的进程信息 $
docker top debugman007/ubt14-hadoop-hbase:v1 #
从容器里面拷贝文件/目录到本地一个路径 $
docker cp ID:/container_path to_path #
列出当前所有正在运行的容器 $
docker ps #
列出所有的容器 $
docker ps -a #
列出最近一次启动的容器 $
docker ps -l #
查看容器的相关信息 $
docker inspect $CONTAINER_ID #
显示容器IP地址和端口号,如果输出是空的说明没有配置IP地址(不同的Docker容器可以通过此IP地址互相访问) $
docker inspect --format= '{{.NetworkSettings.IPAddress}}' $CONTAINER_ID #
保存对容器的修改 $
docker commit -m "xxxxx" -a "debugman007" 容器ID
debugman007/ubt14-hadoop-hbase:v1 #
参数: #
-m参数用来来指定提交的说明信息; #
-a可以指定用户信息的; #
容器ID代表的时容器的id; #
debugman007/ubt14-hadoop-hbase:v1指定目标镜像的用户名、仓库名和 tag 信息。 #
构建一个容器 $
docker build -t= "debugman007/ubt14-hadoop-hbase:v1" . #
参数: #
-t为构建的镜像制定一个标签,便于记忆/索引等 #
. 指定Dockerfile文件在当前目录下,也可以替换为一个具体的 Dockerfile 的路径。 #
在docker中运行ubuntu镜像 $
docker run <相关参数> <镜像 ID> <初始命令> #
守护模式启动 $
docker run -it ubuntu:14.04 #
交互模式启动 $
docker run -it ubuntu:14.04 /bin/bash #
指定端口号启动 $
docker run -p 80:80 debugman007/ubt14-hadoop-hbase:v1 #
指定配置启动 $
sudo docker run -d -p 10.211.55.4:9999:22 debugman007/ubt14-hadoop-hbase:v1 '/usr/sbin/sshd' -D #
参数: #
-d:表示以“守护模式”执行,日志不会出现在输出终端上。 #
-i:表示以“交互模式”运行容器,-i 则让容器的标准输入保持打开 #
-t:表示容器启动后会进入其命令行,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上 #
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>,-v 标记来创建一个数据卷并挂载到容器里。在一次 run 中多次使用可以挂载多个数据卷。 #
-p:表示宿主机与容器的端口映射,此时将容器内部的 22 端口映射为宿主机的 9999 端口,这样就向外界暴露了 9999 端口,可通过 Docker 网桥来访问容器内部的 22 端口了。 #
注意:这里使用的是宿主机的 IP 地址:10.211.55.4,与对外暴露的端口号 9999,它映射容器内部的端口号 22。ssh外部需要访问:ssh root@10.211.55.4 -p 9999 #
不一定要使用“镜像 ID”,也可以使用“仓库名:标签名” #
start 启动容器 $
docker start 容器名或者容器ID #
stop 停止正在运行的容器 $
docker stop 容器名或者容器ID #
restart 重启容器 $
docker restart 容器名或者容器ID #
rm 删除容器 $
docker rm 容器名或者容器ID #
rmi 删除镜像 $
docker rmi 镜像名+tag或者镜像ID #
登录Docker Hub中心 $
docker login #
发布上传image(push) $
docker push debugman007/ubt14-hadoop-hbase:v1 |