什麼是docker
docker就好比傳統的貨運貨櫃
關於虛擬機器
virsh
命令管理
virt_manager
圖形化管理
libvirtd
乙個管理介面
qemu-kvm(cpu/mem)
完全虛擬化
如果停掉libvirtd
systemctl stop libvirtd
管理化命令不能工作,但是虛擬機器依然存在,依然工作
容器容器和物理機共享核心和一些重要的檔案系統
比虛擬機器更小,更輕
傳統虛擬機器和容器技術對比
容器是如何工作的
建立乙個容器
要解決依賴性
yum install docker-ce container-selinux-2.77-1.el7.noarch.rpm -y
systemctl start docker
注意:docker啟動前關閉防火牆和關閉selinux
docker info 檢視容器資訊
發現有兩個警告
解決:
sysctl -a | grep bridge-nf-call-iptables
vim /etc/sysctl.d/bridge.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
sysctl --system 生效
所有的容器資料都在/var/lib/docker裡面
如果想要用普通使用者做docker需要給這個檔案給許可權
yum install bash-*
-y 為了table 補齊命令
用容器部署乙個nginx服務
一般拉取太慢,設定乙個加速器
docker search nginx 尋找映象
docker pull nginx 拉取映象(一般以服務名的是官方提供的)
docker run -d --name nginx nginx 部署容器
docker inspect nginx 檢視nginx容器資訊
用ip addr show 命令檢視橋接到docker0
yum install bridge-utils 橋接命令
nginx部署成功
此時,nginx只能內部訪問
如果需要外部訪問,則刪掉原nginx容器,用埠對映部署nginx
-d : 打入後台
-p 80:80 : 80對映80埠
docker run -d --name nginx -p 80:80 nginx
nginx history nginx:latest 檢視nginx映象資訊
iptables -t nat -nl
訪問本機**到172.17.0.2:80上去
用ps ax 或 top 或 netstat -antlp 檢視 docker就是個程序
網頁訪問虛擬機器ip 可以看到nginx服務
Linux docker 修改容器埠
注 本操作將停止執行所有 docker 容器 1.停止 docker 服務 systemctl stop docker 2.開啟容器配置,找到 portbindings 的 hostport 並修改 vi var lib docker containers container id hostconf...
Linux Docker 容器時間與宿主機同步
最近部署一套系統時,系統有個功能依賴容器時間來做判斷,發現容器與宿主機時間不一至.1.宿主機正常情況下,可以直接複製檔案解決.profile 增加 tz asia shanghai export tz複製檔案到容器 sudo docker cp etc localtime 064b2d54cd25 ...
linux Docker環境安裝
建議centos使用者使用非root使用者來執行docker,比如我建立並切換yinjj使用者進行docker ce安裝 新增使用者 可選 sudo adduser yinjj 為新使用者設定密碼 sudo passwd yinjj 為新使用者新增sudo許可權 sudo echo yinjj al...