Docker 目前已经非常流行,它基于Linux 命名空间、控制组和 UnionFS 三大技术。使用docker可以使应用之间互相隔离,互不干扰;一次编译到处运行。
命名空间 (namespaces) 是 用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法。
Control Groups(简称 CGroups) 能够隔离宿主机器上的物理资源,例如 CPU、内存、磁盘 I/O 和网络带宽。一个 CGroup 有一组相同的标准和参数限制的进程。
UnionFS用于把多个文件系统『联合』到同一个挂载点的文件系统服务。[1]
基本安装使用
- 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置源, 优先国内,速度快
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
-
更新yum包索引
yum makecache fast -
安装Docker CE
yum install docker-ce -
启动
systemctl start docker
systemctl enable docker -
拉去镜像
docker pull centos:centos7.2.1511 -
其他
创建容器并指定网卡模式
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 -
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