一起学Docker

Docker的基本使用

简单概念

预备知识:Linux命令

Docker官网链接

What is Docker?

Docker is the company driving the container movement and the only container platform provider to address every application across the hybrid cloud.

类比:

可以当做是一个轻量级的虚拟机,但是也不完全是hi虚拟机。

Mac上安装Docker

Docker for mac 下载链接

1
2
3
安装后启动即可。导航栏上方会出现一个Docker的图标

命令行中输入 docker info 查看它的运行状态

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
Client: 
docker build
docker pull
docker run

DOCKER_HOST:
Docker daemon
Containers
Images

Registry


1. 客户端和守护进程进行操作(传递命令)
2. 守护进程去找镜像然后运行容器,并且与远端的镜像操作交互。

例子:
命令行中输入 docker run centos echo hello docker
该命令相当于 运行一个centos的虚拟机 调用bash输出hello docker

一开始本地上可能没有镜像

可以使用docker images查看本地所有的镜像


docker run -p 8080:80 -d daocloud.io/nginx
返回的是docker的container的id

这里的-p做端口映射 将80端口映射到本地的8080
这里的-d表示允许这个程序直接返回,即把这个container作为指挥进程来执行

docker ps查看docker中正在运行的容器的进程。
docker ps -a 查看docker中所有运行过的container

使用 docker rm container_id 即可删除历史的container

相当于我们现在已经在本地主机的8080端口开启了一个nginx服务。
可以直接访问 localhost:8080访问nginx的首页。

当然了, 我们也可以修改nginx首页。

docker cp index.html 123adfaasd1213c://usr/share/nginx/html
即拷贝我们自己的首页到doker中nginx的首页


停止该docker的服务
docker stop container_id

保存对container中的修改
docker commit -m '修改了内容' container_id new_image_name

事实上是产生了一个新的images
使用docker images查看

删除一个images
docker rmi image_id

docker pull 从远端获取image
docker build 创建image
docker images 列出image
docker run 列出正在运行的container
docker ps 列出container

docker rm 删除container
docker rmi 删除image
docker cp 在host和container之间拷贝文件
docker commit 保存改动为新的image

Dockerfile

之前我们通过docker commit 来创建docker镜像

自己动手编写简单的文件来创建docker镜像。

未完待续…