linux中dockers容器技术介绍?
linux中dockers容器技术其实就是管理熊雄起的引擎,是应用打包部署平台,可以为数据软件的应用提供基础。
什么是docker?
Docker就好比传统的货运集装箱
Docker是管理容器的引擎
Docker为应用打包 部署平台,而非单纯的虚拟化技术
SaaS(app,云盘,微店,网站) PaaS(redis,nysql,nginx)是基于Docker的云平台
VM VS Container

关于虚拟机
virsh 命令管理
virt_manager 图形化管理
libvirtd 一个管理接口
qemu-kvm(cpu/mem) 完全虚拟化
如果停掉libvirtd
systemctl stop libvirtd
1
1
管理化命令不能工作,但是虚拟机依然存在,依然工作
容器
容器和物理机共享内核和一些重要的文件系统
比虚拟机更小,更轻
传统虚拟机和容器技术对比

容器是如何工作的

创建一个容器

yum install wget -y
cd /etc/yum.repos.d/
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1
2
3
1
2
3

要解决依赖性
在阿里云平台下载
然后下载的包和rhel7.6 yum源里的包一起解决依赖性
yum install docker-ce container-selinux-2.77-1.el7.noarch.rpm -y
systemctl start docker
1
2
1
2
注意:docker启动前关闭防火墙和关闭selinux
docker info 查看容器信息
1
1
发现有两个警告
解决:
sysctl -a | grep bridge-nf-call-iptables
vim /etc/sysctl.d/bridge.conf
1
2
1
2
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
sysctl –system 生效
1
2
3
1
2
3
所有的容器数据都在/var/lib/docker里面

如果想要用普通用户做docker需要给这个文件给权限
yum install bash-* -y 为了table 补齐命令
1
1
用容器部署一个nginx服务
一般拉取太慢,设置一个加速器

cd /etc/docker/
vim daemon.json
systemctl daemon-reload
systemctl restart docker
1
2
3
4
1
2
3
4
docker search nginx 寻找镜像
docker pull nginx 拉取镜像(一般以服务名的是官方提供的)
docker run -d –name nginx nginx 部署容器
docker ps
1
2
3
4
1
2
3
4

docker inspect nginx 查看nginx容器信息
1
1

用ip addr show 命令查看桥接到docker0
yum install bridge-utils 桥接命令
brctl show
1
2
1
2

nginx部署成功

此时,nginx只能内部访问
如果需要外部访问,则删掉原nginx容器,用端口映射部署nginx
-d : 打入后台
-p 80:80 : 80映射80端口
docker run -d –name nginx -p 80:80 nginx
1
1
nginx history nginx:latest 查看nginx镜像信息
iptables -t nat -nL
1
2
1
2
访问本机转发到172.17.0.2:80上去

用ps ax 或 top 或 netstat -antlp 查看 docker就是个进程
网页访问虚拟机ip 可以看到nginx服务。
linux中ps的用法?
linux中的ps命令的详细解释
名称:ps
使用权限:所有使用者
使用方式:ps
说明:显示瞬间行程 (process) 的动态
参数:ps的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
-A 列出所有的进程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
常用参数:
-A 显示所有进程(等价于-e)(utility)
-a 显示一个终端的所有进程,除了会话引线
-N 忽略选择。
-d 显示所有进程,但省略所有的会话引线(utility)
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
-p pid 进程使用cpu的时间
-u uid or username 选择有效的用户id或者是用户名
-g gid or groupname 显示组的所有进程。
U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
-l 长格式(有F,wchan,C 等字段)
-j 作业格式
-o 用户自定义格式。
v 以虚拟存储器格式显示
s 以信号格式显示
-m 显示所有的线程
-H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
h 不显示第一行
linux系统,文件的权限中第一个d是什么意思?
Linux常见的文件类型有:普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等,其中: 普通文件的文件权限第一个字符为“-” 目录文件的文件权限第一个字符为“d” 字符设备文件的文件权限第一个字符为“c”;块设备文件的文件权限第一个字符为“b” 符号链接文件的文件权限第一个字符为“s”
sleep命令用法?
linux命令中sleep可以用来将目前动作或指令延迟一段时间,时间的单位有: 秒 s, 分钟 m, 小时 h, 天 d。
用途说明
sleep命令常用于在Linux shell脚本中延迟时间。
常用方式
格式:sleep 1s
延迟1秒。
格式:sleep 1m
延迟1分钟。
格式:sleep 1h
延迟1小时。
格式:sleep 1d
延迟1天。
linux下useradd -s有什么作用?
useradd是添加用户的。后面应该还要添加一个用户名。-d是指定用户的家目录-s是指定用户的登录shell例如:useradd -d /usr/qqq -s /bin/tcsh qqq此命令的意思是:指定的家目录是usr目录下的qqq登录shell是tcsh注意:创建用户不加-d和-s是是系统默认的家目录(/home/qqq)和登录shell(/bin/bash)。