docker基本原理和安装使用

Docker 目前已经非常流行,它基于Linux 命名空间、控制组和 UnionFS 三大技术。使用docker可以使应用之间互相隔离,互不干扰;一次编译到处运行。
命名空间 (namespaces) 是 用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法。
Control Groups(简称 CGroups) 能够隔离宿主机器上的物理资源,例如 CPU、内存、磁盘 I/O 和网络带宽。一个 CGroup 有一组相同的标准和参数限制的进程。
UnionFS用于把多个文件系统『联合』到同一个挂载点的文件系统服务。[1]

基本安装使用

  1. 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 设置源, 优先国内,速度快
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  1. 更新yum包索引
    yum makecache fast

  2. 安装Docker CE
    yum install docker-ce

  3. 启动
    systemctl start docker
    systemctl enable docker

  4. 拉去镜像
    docker pull centos:centos7.2.1511

  5. 其他
    创建容器并指定网卡模式
    docker run –-privileged=true -itd --name demo --network=host centos:7.2.1511
    docker挂载目录
    docker run -d -e “container=docker” –-privileged=true -v /sys/fs/cgroup:/sys/fs/cgroup –-name centos:centos7.2.1511 /usr/sbin/init
    docker直接安装mariadb
    docker run --privileged -d --restart=always -e TIMEZONE=Asis/Shanghai -e MYSQL_ROOT_PASSWORD=root -e SERVER_ID=1 -v /opt/data/mariadb/dbdata:/var/lib/mysql -p 3306:3306 mariadb --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

  6. docker常用命令
    查看镜像 docker images
    查看容器 docker ps -a

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
blackboxback        latest              f8ae50a0e292        6 months ago        834MB
centos              7.2.1511            9aec5c5fe4ba        22 months ago       195MB
centos              centos7.2.1511      9aec5c5fe4ba        22 months ago       195MB
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS                      PORTS               NAMES
91237e59bea0        centos:7.2.1511         "/usr/sbin/init"         6 months ago        Exited (255) 5 months ago                       xx1
39d81809cd27        centos:7.2.1511         "/usr/sbin/init"         6 months ago        Exited (255) 5 months ago                       xx2
a068fa9a4b7f        centos:7.2.1511         "/usr/sbin/init"         6 months ago        Exited (255) 6 months ago                       hhp
2865ab62ca5f        centos:7.2.1511         "/usr/sbin/init"         6 months ago        Exited (137) 6 months ago                       hhproxy
67d02ea71169        centos:7.2.1511         "/usr/sbin/init"         6 months ago        Exited (255) 6 months ago                       proxy

参考:
[0] https://www.runoob.com/docker/docker-install-centos.html
[1] https://www.linuxprobe.com/docker-technology-principle.html

猜你喜欢

转载自blog.csdn.net/niu91/article/details/112966120