(linux sd)
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)。
總結
以上是生活随笔為你收集整理的(linux sd)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 跨站点脚本(xss)_跨站点脚本(XSS
- 下一篇: linux删除命令(linux 文件夹删