图解http已经阅读完毕,现在开始转向docker的学习,先读《第一本Docker书》,就这样,简要记录读书笔记。
简介
- Docker镜像
- Registry: 用来保存用户构建的镜像,分为公共和私有两种
- 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
|
yum install docker
systemctl enable docker
systemctl start docker
docker info
#查看docker信息
docker run -i -t ubuntu /bin/bash
#以ubuntu为基础镜像创建容易完成后并运行/bin/bash启动一个shell,-i保证STDIN开启-t创建一个可以与之交互的伪终端这两个是创建可交互容器的最基本参数
docker run --name arvon_web -i -t ubuntu /bin/bash
#创建arvon_web为容器名的容器,可以使用容器名代替容器ID操作容器
docker ps
#查看正在运行的容器
docker ps -a
#查看所有容器,包括运行的和停止的
docker start arvon_web
#启动一个容器,可以使用容器名也可以使用容器ID,启动时会沿用docker run启动时指定的参数,因此会运行交互式会话的shell,使用docker attach可以附着到启动的容器
docker attach arvon_web
#附着到arvon_web这个容器,如果退出容器的shell,容器也会随之停止运行
docker run --name demo_arvon -d ubuntu /bin/sh -c "while true;do echo hello world; sleep 1; done"
#创建一个守护式进程,并一直输出helloworld,运行后不进入容器,容器在后台运行,可以通过docker ps查看到
docker logs demo_arvon
#可以查看demo_arvon这个容器的日志,是即时输出
docker logs -f demo_arvon
#相当于tailf,是实时输出的日志
docker logs -ft demo_arvon
#带时间戳的实时输出
docker top demo_arvon
#查看容器内的进程
docker exec -d demo_arvon touch /etc/new_config_file
#在demo_arvon这个容器中创建一个new_config_file的空文件
docker stop demo_arvon
#停止容器运行
docker ps -n x
#显示最后的x的容器,不管这些容器是否在运行都会列出来
docker inspect demo_arvon
#检查容器然后返回容器的配置信息,包括名称、网络配置等
docker inspect --format='{{ .State.Running }}' demo_arvon
#查看容器的运行状态,true为运行,false为停止
docker inspect --format '{{ .NetworkSettings.IPAddress }}' demo_arvon
#查看容器的IP地址,对运行中的容器有效,为运行的容器返回为空
docker inspect --format='{{ .State.Running }}' arvon_web demo_arvon
#可以一次指定多个容器,会显示每个容器的输出结果
docker rm arvon_web
#删除容器
docker rm `docker ps -a -q`
#删除所有容器
|
镜像使用及构建
1
2
3
4
5
6
|
docker images
#列出镜像列表
docker pull fedora
#将fedora镜像拉取到本地
docker search puppet
#查找Docker Hub上公共可用的镜像
|
使用dockercommit构建镜像
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#使用docker commit创建镜像,不推荐
docker login
Username: arvon2014
Password:
Email: mail@126.com
Login Succeeded
#
docker run --name t_img -i -t ubuntu /bin/bash
docker commit -m="A new custom image" --author="arvon" t_img arvon2014/web_test:webserver
#其中t_img为容器名可以为容器ID, arvon2014为镜像的用户名web_rest为仓库名;webserver为标签-m为描述-author为作者信息,这些都可以省略
docker inspect arvon2014/web_test:webserver
#查看新创建镜像的信息
docker run -t -i arvon2014/web_test:webserver /bin/bash
#使用新创建的镜像运行一个容器
|