03.安装docker

1.docker基本原理
 
https://www.cnblogs.com/xiaonq/p/10241045.html
 
1.1 毛线是docker?
1.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容器是否可以访问
posted @ 2020-11-12 10:56  深海海胆  阅读(70)  评论(0)    收藏  举报
Live2D