首页 > 技术文章 > 安装doker

lxs1030 2020-11-12 08:45 原文





1.docker基本原理

https://www.cnblogs.com/xiaonq/p/10241045.html

1.1什么是doker ?
Docker是使用最广泛的 开源容器引擎
容器:
1)容器是一个操作系统级别下的虚拟化技术,运行一个容器就行运行一个进程一样
2)容器依赖linux内核特性:Namespace(资源隔离)和Cgroups(资源限制)
2.一种操作系统基本的 虚拟化技术
我们使用的VMware虚拟机就是虚拟化技术
一个操作系统下,虚拟出来,其他操作系统的机器
3.一种简单的应用 程序打包工具 4.依赖Linux内核特性: Namespace(资源隔离) 和 Cgroup(资源限制)

docker run -itd -p 91:80 nginx
1.2 资源隔离和资源限制
资源隔离:
1) Linux Namespaces 机制提供一种资源隔离方案,每个namespace看上去就像一个单独的
Linux系统。
2) PID ,IPC(进程通信), Network 等系统资源不再是全局性的,而是属于某个特定的
Namespace。 3)每个namespace下的 资源对于其他namespace 下的资源都是透明, 不可见的 。 4)系统中可以同时存在 两个进程号为0,1,2的进程 ,由于 属于不同的namespace ,所以它们
之间并不冲突。
5)而在用户层面上只能看到属于用户自己namespace下的资源,例如使用ps命令只能列出自
己namespace下的进程。
6)这样 每个namespace看上去就像一个单独的Linux系统 。
资源限制:
1)为了让容器中的进程更加可控, Docker 使用 Linux cgroups 来限制容器中的进程允许使 用的系统资源 。 2)可以在启动容器是指定每个容器可以使用的 网络、磁盘、CPU以及内存 等

2.ubuntu安装docker

2.1安装docker
# 1.卸载旧版本 sudo apt-get remove docker docker-engine docker.io containerd runc
# 2.更新ubuntu的apt源索引
# 修改apt国内源为中科大源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i 
's/archive.ubuntu.com/mirrors.ustc.edu.cn/' /etc/apt/sources.list
sudo apt update 
#3.安装包允许apt通过HTTPS使用仓库 
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common #4.添加Docker官方GPG key 
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 
#5.设置Docker稳定版仓库(国内使用都用用国内的源) 
#5.1 设置使用阿里云 
add-apt-repository
"deb [arch=amd64] https://mirrors.aliyun.com/docker- ce/linux/ubuntu $(lsb_release -cs) stable"
#5.2 设置使用官方,很慢(不建议用这个) 
sudo add-apt-repository 
\ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
#6.添加仓库后,更新apt源索引 
sudo apt-get update 
#7.安装最新版Docker CE(社区版)
sudo apt-get install docker-ce 
#8.检查Docker CE是否安装正确 
sudo docker run hello-world
2.2 docker默认是国外源可以设置成国内镜像源
root@linux-node1 django-docker]vim /etc/docker/daemon.json # 设置docker镜像源 
{ 
    "registry-mirrors": ["http://hub-mirror.c.163.com"] 
}或者
{ 
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"] 
}
[root@linux-node2 ~]# systemctl daemon-reload # 重载文件 
[root@linux-node2 ~]# systemctl restart docker # 重启docker生效
2.3 docker启动设置
# 启动Docker服务并设置开机启动 
systemctl start docker 
systemctl enable docker
2.4 docker简单使用(创建一个ngixn容器)
# 1、创建一个nginx容器 
docker run -it nginx 
# 2、查看docker运行的容器(可以获取到这个容器的id) 
docker ps 
# 3、访问这个容器 
# 进入这个nginx容器(进入的文件系统和宿主机是完全隔离的,有自己独立的文件系统) 
docker exec -it 73877e65c07d bash 
# 4、查看当前容器的 IP 
docker inspect 73877e65c07d # 73877e65c07d是通过docekr ps查看到的容器ID 
curl 172.17.0.2 # 测试这个nginx容器是否可以访问

推荐阅读