linux docker 容器技術 簡介

2021-10-04 17:58:28 字數 2900 閱讀 3272

什麼是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...