目录

容器

概念

docker命令

其他命令

镜像


容器

概念

容器:一个运行在隔离环境中的程序

docker:

一种封装系统的轻量级虚拟化

以应用为核心,对程序文件、运行时环境、软件依赖包都可以封装打包、部署的技术手段

容器中没有系统

2015年制定了OCI——开放容器交互标准

服务:docker

安装包:docker-ce

配置文件:/etc/docker/daemon.json

{

   "registry-mirrors":["镜像仓库地址"],

   "insecure-registries":["本机仓库地址"]

}

镜像:

只读模板,包含了创建容器所需的所有文件和配置信息

可以从官方镜像仓库下载:hub.docker.com(中国无法访问)

可以自己制作镜像

创建容器的核心

使用COW技术

采用分层设计

镜像始终都是只读

仓库——用来存储、分发、管理镜像的地方

COW——Copy On Write 写时拷贝技术

使用指针指向原始盘所有块

若一个块要被改写,首先把数据从原始盘拷贝到前端盘,然后在前端盘进行改写,最后把数据指针指向改写过的数据

原始盘始终式只读的

上帝进程——

系统创建之初产生的第一个进程 一般是systemd

PID==1

所有程序的根进程

上帝进程死亡则系统也就关闭了

容器的上帝进程——

容器的启动进程就是上帝进程

如果容器的启动进程关闭等同于容器关闭

上帝进程无法在后台执行

容器启动进程必须放在前台

docker命令

查看服务器与客户端的版本信息

docker version

查看服务的配置文件

docker info

查看本地镜像的名称和标签

docker images

查看本地主机上的所有镜像

docker images list

从镜像仓库下载一个镜像到本地

docker pull 镜像名称:标签

把镜像导出为一个tar文件

docker save 镜像名称:标签 -o 文件名

从文件导入镜像

docker load -i 备份文件名

查看镜像的分层信息

docker history 镜像名称:标签

创建容器

docker run [选项] 镜像名称:容器名称

选项:

-i 交互式

-t  分配终端

-d  后台运行

--name  容器名字

-rm  容器结束后自动删除

ctrl-p + ctrl -q  转入后台快捷键

查看容器的信息

docker ps [选项]

-a  显示所有容器

-q  只显示id

查询(容器/镜像)的详细信息

docker inspect 镜像名称|容器名称

启动、停止、重启容器

docker [start|srop|restart] 容器id

在容器内执行命令

docker exec -it 容器ID 解释器

查看容器日志

docker logs 容器ID

拷贝文件:路径格式(本机路径、容器ID/路径)

docker cp 路径1 路径2

上传

docker cp 本机路径 容器ID:容器内路径

下载

docker cp 容器ID:容器内路径 本机路径

删除容器

docker rm [选项] 容器ID

-f  强制删除

删除所有容器

docker rm -f $(docker ps -aq)

创建新的镜像名称和标签

docker tag 镜像ID:标签  镜像名称:新的标签

删除镜像(必须先删除该镜像启动的所有容器)

docker rmi 镜像名称:标签

把容器制作成镜像

docker commit 容器名称 镜像名称:标签

其他命令

同步文件

rsync [选项] 本地目录 远程IP:远程目录

-a  归档模式

-v  详细模式

开启路由转发

sysctl net.ipv4.ip_forward

以前台进程运行httpd服务

/usr/sbin/httpd -DFOREGROUND

httpd就是容器的上帝进程

容器启动进程必须放在前台

启动后如果ctrl+c退出就说明容器进程结束了

镜像

简单制作镜像主要步骤:

1、制作容器

2、拷贝真机的yum配置文件到容器

3、在容器内安装软件包并清空缓存

4、停止容器

5、根据容器制作镜像

这时用新的镜像新建容器后,新容器里有前面安装的软件包

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐