docker容器

1什么是容器?

容器就是在隔離的環(huán)境運行的一個進程,如果進程停止,容器就會銷毀。隔離的環(huán)境擁有自己的系統(tǒng)文件,ip地址,主機名等

2容器和虛擬化的區(qū)別

kvm虛擬化

kvm虛擬化: 需要硬件的支持,需要模擬硬件,可以運行不同的操作系統(tǒng),啟動時間分鐘級(開機啟動流程)

容器

容器:共用宿主機內(nèi)核,容器的第一個進程直接運行服務,輕量級,損耗少,啟動快,性能高
容器虛擬化:不需要硬件的支持。不需要模擬硬件,共用宿主機的內(nèi)核,啟動時間秒級(沒有開機啟動流程)

總結:
(1)與宿主機使用同一個內(nèi)核,性能損耗小;
(2)不需要指令級模擬;
(3)容器可以在CPU核心的本地運行指令,不需要任何專門的解釋機制;
(4)避免了準虛擬化和系統(tǒng)調用替換中的復雜性;
(5)輕量級隔離,在隔離的同時還提供共享機制,以實現(xiàn)容器與宿主機的資源共享。

3docker 安裝

10.0.0.11:修改主機名和host解析
rm -fr /etc/yum.repos.d/local.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo
yum install docker-ce -y

3.1 啟動docker

1.啟動docker
[root@docker-01 ~]# systemctl start docker
2.查看docker版本信息
[root@docker-01 ~]# docker version 
Client:
 Version:           18.09.6
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        481bc77156
 Built:             Sat May  4 02:34:58 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.6
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       481bc77
  Built:            Sat May  4 02:02:43 2019
  OS/Arch:          linux/amd64
  Experimental:     false
3. docker詳細信息(監(jiān)控用)
[root@docker-01 ~]# docker info 
Containers: 1
 Running: 1
 Paused: 0
 Stopped: 0
Images: 1
Server Version: 18.09.6
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: bb71b10fd8f58240ca47fbb579b9d1028eea7c84
runc version: 2b18fe1d885ee5083ef9f0838fee39b62d653e30
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-693.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.938GiB
Name: docker-01
ID: DCFJ:W5UP:GOAC:EMQM:75YF:KV4W:Y6PU:4SS4:XFCY:7PBH:FMKQ:NOMJ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

3.2配置docker加速

vi /etc/docker/daemon.json
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}   

3.3 創(chuàng)建一個容器

docker run -d -p 80:80 nginx
run(創(chuàng)建并運行一個容器)
-d 放在后臺
-p 端口映射
nginx docker鏡像的名字

4 docker的鏡像管理

1.搜索鏡像
docker search + 鏡像名
選鏡像的建議:
-優(yōu)先考慮官方
-stars數(shù)量多

2.獲取鏡像
    docker pull(push)
    鏡像加速器:阿里云加速器,daocloud加速器,中科大加速器,Docker 中國官方鏡像加速:https://registry.docker-cn.com
    
官方pull      docker pull centos:6.8(沒有指定版本,默認會下載最新版)
私有倉庫pull    docker pull daocloud.io/huangzhichong/alpine-cn:latest 

##配置docker鏡像加速
vi /etc/docker/daemon.json
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}   
    

    
3.查看鏡像列表
    docker images 或 docker image  ls
4.刪除鏡像
    docker rmi  例子:docker image rm centos:latest
5.導出鏡像
    docker save  例子:docker image save centos > docker-centos7.4.tar.gz
6.導入鏡像
    docker load  例子:docker image load -i docker-centos7.4.tar.gz
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容