一.容器和单机容器编排入门与实战 1.1 容器概述、Docker详解、安装与验证

Ubuntu 22.04


一. NAMESPACE详解
容器基于namespace实现资源隔离

容器技术是在一个进程内实现运行指定服务的运行环境,并且还可以保护宿主机内核不受其他进程的干扰和影响,如文件系统空间、网络空间、进程空间等,目前主要通过
以下技术实现容器运行空间的相互隔离:

二. Cgroup详解
容器基于cgroup实现资源限制。
Linux Cgroups的全称是Linux Control Groups,它最主要的作用,就是限制一个进程组能够使用的资源上限,包括CPU、内存、磁盘、网络带宽等等。此外,还能够对进程进行优先级设置,以及将进程挂
起和恢复等操作。

三. 存储引擎及镜像基本介绍
UnionFS  通过这个机制 实现容器分层挂载  实现合并提供给容器使用
overlay2:  主流存储引擎
写时复制

四. 安装部署 docker 和 docker-compose

方法一:(使用 apt-get 进行安装)
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
#   docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
#   docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]
apt install  docker-ce=5:20.10.17~3-0~ubuntu-jammy docker-ce-cli=5:20.10.17~3-0~ubuntu-jammy

方法二: 二进制方式安装
详见脚本 docker-install.sh

对Docker进行镜像加速及使用systemd进行资源限制等参数优化、Docker的常用命令;


镜像管理:
 制作镜像
 上传镜像
 下载镜像
 查找镜像
 导出镜像
 导入镜像
 删除镜像
 查询镜像
docker save nginx:1.20.2 > nginx-image.tar
docker load -i nginx-image.tar

~# docker cp d520d4462f51:/etc/nginx/conf.d/default.conf /opt/
~# docker cp /etc/passwd d520d4462f51:/tmp

# docker exec -it 40e6379cf371 sh/bash #推进入到容器执行命令操作,推荐使用此方式
# docker images #查看本地所有镜像
# docker inspect  50fe74b50e0d #显示docker对象(镜像、网络、容器等)的详细信息
# docker load -i nginx-1.20.2.tar.gz  #从一个tar包或标准输入导入镜像
# docker logs -f nginx-container-test1 #持续查看容器标准输出和错误输出的日志
~# docker pull mysql:5.6.48

docker tag nginx:1.20.2 harbor.magedu.net/myserver/ningx:20221616-shzbz2w
# docker run  -p 80:80/tcp  -p 443:443/tcp  nginx:1.20.2 #创建容器并指定多端口映射


posted @ 2022-11-01 19:12  梳碧湖砍柴少年  阅读(39)  评论(0)    收藏  举报