安装:
安装不多说,直接贴官网链接https://docs.docker.com/install/linux/docker-ee/centos/#install-from-a-package安装完成后,查看信息:
docker info配置镜像加速
docker 下载镜像,默认是从docker hub进行下载,因在国内对国外网站的限制,下载速度太慢,所以更改更换国内的阿里云镜像加速
阿里云容器镜像服务地址:https://dev.aliyun.com/search.html
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://7a3775j5.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
演示样例:
用docker搭建一个nginx容器,并对外发布一个网站下载镜像:
docker pull nginx启动容器:
docker run -p 8080:80 —name aaa -it nginx /bin/bash
,命令格式:-p 8080:80:宿主机端口:容器端口停止容器:
docker stop 容器名删除容器
docker rm 容器名
进入正在运行中的容器
docker exec -it/bin/bash 将主机目录拷贝到容器目录(上传网站代码)
docker cp 主机目录 容器id:容器目录路径
docker cp ./www/ 4fd5407c9706:usr/share/nginx/html访问网站:
ip:8080
- docker需要了解的
docker的本质是宿主机上的进程
通namespace实现资源隔离,通过cgroups实现资源限制,通过写时复制机制(copy-on-write)实现高效文件操作
namespaces 充当隔离的第一级,是对 Docker 容器进行隔离,让容器拥有独立的 hostname,ip,pid,同时确保一个容器中运行一个进程而且不能看到或影响容器外的其它进程
Cgroups 是容器对使用的宿主机资源进行核算并限制的关键功能。
比如 CPU, 内存, 磁盘等,union FS 主要是对镜像也就是 image 这一块作支持,采用 copy-on-write 技术,让大家可以 共用某一层,对于某些差异层的话就可以在差异的内存存储。
docker使用了传统的client-server架构