栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker基础用法

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker基础用法

docker基础用法

docker是管理容器的一种程序

OCI&OCF OCI

Open Container-initiative 开发的容器协议

  • 包含两个规范
    • 运行时规范
    • 镜像规格
OCF

Open Container Format 开发的容器格式

runC 是一个 CLI 工具,用于根据 OCI 规范生成和运行容器

  • 容器作为 runC 的子进程启动,可以嵌入到各种其他系统中,而无需运行守护程序
  • runC 建立在 libcontainer 之上,libcontainer 是支持数百万个 Docker 引擎安装的相同容器技术
docker架构

docker镜像与镜像仓库

Registry码头,镜像仓库。在docker中仓库的名字是以应用的名称取名的。

镜像是静态的,而容器是动态的,容器有其生命周期,镜像与容器的关系类似于程序与进程的关系。镜像类似于文件系统中的程序文件,而容器则类似于将一个程序运行起来的状态,也即进程。所以容器是可以删除的,容器被删除后其镜像是不会被删除的。

docker 对象

使用 Docker 时,您正在创建和使用映像、容器、网络、卷、插件和其他对象。

  • 镜像
    • 映像是一个只读模板,其中包含有关创建 docker 容器的说明。
    • 通常,一个镜像基于另一个镜像,并具有一些额外的自定义。
    • 您可以创建自己的镜像,也可以只使用其他人创建并在注册表中发布的镜像。
  • 容器
    • 容器是运行中的镜像。
    • 您可以使用 Docker API 或 CLI 创建、运行、停止、移动或删除容器。
    • 可以将容器连接到一个或多个网络,将存储附加到该网络,甚至可以根据其当前状态创建新映像。
安装及使用docker

阿里云开源镜像站资源目录 (aliyun.com)

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo   epel-testing-modular.repo
epel-modular.repo  epel-testing.repo
epel.repo          redhat.repo
[root@localhost yum.repos.d]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

[root@localhost ~]# dnf list all|grep docker
[root@localhost ~]# dnf -y install docker-ce

[root@localhost ~]# systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
[root@localhost ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; en>
   Active: active (running) since Sun 2022-04-24 22:07:43 CST>

配置加速器:
[root@localhost ~]# cd /etc/docker/
[root@localhost docker]# ls
key.json
[root@localhost docker]# vi daemon.json

{
  "registry-mirrors": ["https://48d04e7v.mirror.aliyuncs.com"]
}
~                                                             
[root@localhost docker]# systemctl daemon-reload
[root@localhost docker]# systemctl restart docker
[root@localhost docker]# docker pull httpd
[root@localhost docker]# docker pull httpd:2.4.53

[root@localhost ~]# docker create --name web -p 80:80 httpd
50501123a9f3c040108d1d7440948825d5b0a0904b6f133d7ac85fe224da6ee0
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND              CREATED          STATUS    PORTS     NAMES
50501123a9f3   httpd     "httpd-foreground"   26 seconds ago   Created             web
[root@localhost ~]# docker start web
web
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND              CREATED              STATUS          PORTS                               NAMES
50501123a9f3   httpd     "httpd-foreground"   About a minute ago   Up 33 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   web
[root@localhost ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# vi /etc/selinux/config 
......
SELINUX=disabled
......
[root@localhost ~]# setenforce 0

httpd部署完毕
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/837069.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号