docker基础用法
文章目录
什么是docker
docker中的容器:
lxc –> libcontainer –> runC
OCI&OCF
OCI
开发容器倡议
由Linux基金会主导于2015年6月创立
旨在围绕容器格式和运行时制定一个开放的工业化标准
包含两种规格
运行时规范
镜像规范
OCF
断续器
开放容器格式
runC 是一个 CLI 工具,用于根据 OCI 规范生成和运行容器
容器作为 runC 的子进程启动,可以嵌入到各种其他系统中,而无需运行守护程序
runC 建立在 libcontainer 之上,同样的容器技术为数百万个 Docker 引擎安装提供支持
docker提供了一个专门容纳容器镜像的点:https://hub.docker.com
docker架构
docker镜像与镜像仓库
镜像是静态的,而容器是动态的,容器有其生命周期,镜像与容器的关系类似于程序与进程的关系。镜像类似于文件系统中的程序
文件,而容器则类似于将一个程序运行起来的状态,也即进程。所以容器是可以删除的,容器被删除后其镜像是不会被删除的
docker对象
使用 Docker 时,您正在创建和使用映像、容器、网络、卷、插件和其他对象。
图像
映像是一个只读模板,其中包含有关创建 docker 容器的说明。
通常,一个映像基于另一个映像,并具有一些额外的自定义。
您可以创建自己的映像,也可以仅使用其他人创建并在注册表中发布的映像。
器皿
控制器是映像的可运行实例。
您可以使用 Docker API 或 CLI 创建、运行、停止、移动或删除容器。
可以将容器连接到一个或多个网络,将存储附加到该容器,甚至可以基于其当前状态创建新映像
安装及使用docker
docker安装
docker加速
使用 Docker 时,您正在创建和使用映像、容器、网络、卷、插件和其他对象。
图像
映像是一个只读模板,其中包含有关创建 docker 容器的说明。
通常,一个映像基于另一个映像,并具有一些额外的自定义。
您可以创建自己的映像,也可以仅使用其他人创建并在注册表中发布的映像。
器皿
控制器是映像的可运行实例。
您可以使用 Docker API 或 CLI 创建、运行、停止、移动或删除容器。
可以将容器连接到一个或多个网络,将存储附加到该容器,甚至可以基于其当前状态创建新映像
[root@localhost ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":[https://1swrs873.mirror.aliyuncs.com]
}
docker常用操作
docker search | 在 Docker 中心搜索映像 |
---|---|
docker pull | 从注册表中拉取镜像或存储库 |
docker images | 列出镜像 |
docker create | 创建新的连接器 |
docker start | 启动一个或多个已停止的容器 |
docker run | 在新容器中运行命令 |
docker attach | 连接到运行容器 |
docker ps | 列出容器 |
docker logs | 获取容器日志 |
docker restart | 重新启动容器 |
docker stop | 停止一个或多个正在运行的容器 |
docker kill | 杀死一个或多个正在运行的命令 |
docker rm | 删除容器 |
docker exec | 在运行的容器中运行命令 |
dcoker info | 显示系统范围的信息 |
docker inspect | 返回有关docker对象的低级信息 |
docker search 从docker查找镜像
[root@localhost ~]# docker search httpd
NAME DESCRIPTION STARS OF
FICIAL AUTOMATED
httpd The Apache HTTP Server Project 4106 [OK]
centos/httpd-24-centos7 Platform for running Apache httpd 2.4 or bui… 44
centos/httpd 35
[OK]
solsson/httpd-openidc mod_auth_openidc on official httpd image, ve… 2
[OK]
clearlinux/httpd httpd HyperText Transfer Protocol (HTTP) ser… 2
hypoport/httpd-cgi httpd-cgi 2
[OK]
nnasaki/httpd-ssi SSI enabled Apache 2.4 on Alpine Linux 1
dockerpinata/httpd 1
jonathanheilmann/httpd-alpine-rewrite httpd:alpine with enabled mod_rewrite 1
[OK]
inanimate/httpd-ssl