docker的基础知识[1]

前言

本次使用的环境为rhel3.10.0-229.el7.x86_64

安装和启动docker

yum install docker-engine-1.8.3-1.el7.centos.x86_64 -y #安装
systemctl start docker #启动

查看docker信息

docker version #查看docker版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Client:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 06:06:01 UTC 2015
OS/Arch: linux/amd64

Server:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 06:06:01 UTC 2015
OS/Arch: linux/amd64

docker info #查看docker系统信息

加载平台镜像

我们可以从公有的docker仓库Docker Hub上下载所需镜像也可以从自己或别人的docker镜像仓库中下载
加载镜像
docker load -i rhel7.tar
列出镜像
docker images

1
2
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
rhel7 latest e1f5733f050b 23 months ago 140.2 MB

检索镜像
docker search image_name
下载镜像
docker pull image_name
删除镜像
docker rmi image_name
显示一个镜像的改动历史
docker history image_name

运行docker容器

非交互式在容器中运行命令:
docker run --rm rhel7 cat /etc/hostsrm参数的意义可以通过docker run –help 来查询(Automatically remove the container when it exits,在运行完指定指令后立即删除此容器)
交互式运行容器
docker run -it rhel7 bash # -i -t 参数可自行查询

列出容器

docker ps -a ##列出所有系统容器
docker ps ##列出正在运行的容器
docker ps-l ##列出最近一次启动的容器

重启停止运行的容器

docker start container_name
重新连接还在运行的容器
docker attach container_name

删除容器

docker rm container_Name/ID / docker rm ’docker ps -a -q ‘ (删除所有容器)

停止,启动,杀死容器

docker stop container_Name/ID
docker start container_Name/ID
docker kill container_Name/ID

查看容器的详细信息

docker inspect vm1

从一个容器中获取日志

docker logs container_Name/ID

列出容器中被改变的文件

docker diff container_Name/ID

1
2
3
4
5
6
7
8
9
C /etc                             #C代表被改变的
C /etc/yum.repos.d
A /etc/yum.repos.d/dvd.repo #A代表增加的
D /etc/yum.repos.d/rhel7.repo #D代表被删除的
C /var
C /var/cache
C /var/cache/yum
A /var/cache/yum/x86_64
A /var/cache/yum/x86_64/7Server

显示一个运行的容器里面的进程信息

docker top container_Name/ID

从容器里面拷贝文件/目录到本地一个路径,或相反

docker cp Name/ID:/container_path to_path #或相反

创建docker镜像

docker commit vm1 rhel7:v1#vm1:容器名 rhel7:镜像名 v1:版本号
docker images #查看

1
2
3
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
rhel7 v1 eb4cf1bf36a5 7 seconds ago 229.4 MB
rhel7 latest e1f5733f050b 23 months ago 140.2 MB

输出镜像到文件

docker save --output=rhel7-v1.tar rhel7:v1
tar -tf rhel7-v1.tar # 查看

1
2
3
4
5
6
7
8
9
e1f5733f050b2488a17b7630cb038bfbea8b7bdfa9bdfb99e63a33117e28d02f/
e1f5733f050b2488a17b7630cb038bfbea8b7bdfa9bdfb99e63a33117e28d02f/VERSION
e1f5733f050b2488a17b7630cb038bfbea8b7bdfa9bdfb99e63a33117e28d02f/json
e1f5733f050b2488a17b7630cb038bfbea8b7bdfa9bdfb99e63a33117e28d02f/layer.tar
eb4cf1bf36a5e25d5cb0fc023ac6c06c416b927652dbec95c7f25a610cc79cf9/
eb4cf1bf36a5e25d5cb0fc023ac6c06c416b927652dbec95c7f25a610cc79cf9/VERSION
eb4cf1bf36a5e25d5cb0fc023ac6c06c416b927652dbec95c7f25a610cc79cf9/json
eb4cf1bf36a5e25d5cb0fc023ac6c06c416b927652dbec95c7f25a610cc79cf9/layer.tar
repositories

此文件包含了镜像重建所必须的所有层,可以把它拷贝到其他docker主机,使用docker load加载

感谢阅读,欢迎指正。

-------------本文结束感谢您的阅读-------------