Docker

资源控制资源打包,资源管理(限制你使用多少)目录部署Docker镜像自定义镜像自定义镜像仓库Docker网络拓扑docker-machineSwarm集群管理docker-compose什么是容器?• 容器技术已经成为应用程序封装和交付的核心技术• 容器技术的核心有以下几个内核技术组成:– Cgroups(Control Groups)-资源...
摘要由CSDN通过智能技术生成

资源控制

资源打包,

资源管理(限制你使用多少)

目录

部署Docker

镜像

自定义镜像

自定义镜像仓库

Docker网络拓扑

docker-machine

Swarm集群管理

docker-compose


什么是容器?

• 容器技术已经成为应用程序封装和交付的核心技术
• 容器技术的核心有以下几个内核技术组成:
– Cgroups(Control Groups)-资源管理
– NameSpace-进程隔离
– SELinux安全
• 由于是在物理机上实施隔离,启动一个容器,可以像启动一个进程一样快速

• Docker是完整的一套容器管理系统
• Docker提供了一组命令,让用户更加方便直接地使用容器技术,而不需要过多关心底层内核技术

 

优点:

• 相比于传统的虚拟化技术,容器更加简洁高效
• 传统虚拟机需要给每个VM安装操作系统
• 容器使用的共享公共库和程序

VM(需装操作系统)   ------->  Docker(无需装操作系统)

Docker缺点

• 容器的隔离性没有虚拟化强
• 共用Linux内核,安全性有先天缺陷
• SELinux难以驾驭
• 监控容器和容器排错是挑战(难搞)

 

第一              命令空间 主机名

第二              ip(网络)

第三               磁盘

第四               进程

第五               ipc(信号比如kill)

第六               用户名
 

 

部署Docker

新建2台虚拟机

192.168.5.30/24   4G内存  2CPU  20G磁盘

192.168.5.31/24   4G内存  2CPU  20G磁盘  

下面以192.168.5.30为例(2台都有配置): 

# virsh edit 虚拟机名 直接修改内存;

vim /etc/sysconfig/network-scripts/ifcfg-eth0

# Generated by dracut initrd
DEVICE="eth0"
ONBOOT="yes"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.5.30"
NETMASK="255.255.255.0"
GATEWAY="192.168.5.254"

vim /etc/resolv.conf   ----> nameserver 192.168.5.254

]#poweroff  --->然后开机    加载配置

需要64位操作系统, RHEL7版本,防火墙关闭(熟悉Docker了就不用关)

配置yum源

vim /etc/yum.repos.d/local.repo

[local_repo]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.5.254/centos-1804"
enabled=1
gpgcheck=1
[0_repo]
name=docker0
baseurl="ftp://192.168.5.254/extras"  #Docker的包仓库源,不在本地yum里
enabled=1
gpgcheck=0
yum repolist

yum -y install docker

ifconfig                      #查看时没有docker0

systemctl restart docker

systemctl enable docker

ifconfig                      #查看时有docker0

 

镜像

• 在Docker中容器是基于镜像启动的
• 镜像是启动容器的核心
• 镜像采用分层设计
• 使用快照的COW技术,确保底层数据不丢失

docker   search  busybox                           #搜索相关镜像

docker   search  centos

docker   search  nginx 

docker   help pull / push                           #查看下载/上传帮助

docker    pull  docker.io/busybox             # 下载镜像

docker images                                          #查看本地镜像列表

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
名称                           标签                        ID                   创建时间               大小

 

docker       push  docker.io/busybox            #上传镜像

docker save docker.io/busybox:latest  -o  busybox.tar     #导出本地镜像为tar文件

ls

 

真机传相关的tar镜像文件

scp 'docker_images.zip'  root@192.168.5.31:/root

yum  -y install unzip

unzip docker_images.zip

cd docker_images/

ls  ---->  centos.tar  nginx.tar  redis.tar  registry.tar  ubuntu.tar

for i in *.tar; do docker load -i $i ; done                                      #导入镜像

docker load  -i 镜像文件.tar                          #使用tar包导入镜像

docker images                                               #查看镜像列表

启容器格式:  docker 命令  参数  镜像名称:标签  启动命令

docker run -it docker.io/centos:latest /bin/bash(容器内的命令,不加则用默认的)              #运行容器

进去配置yum和本机的一致,安装相关命令的包,查看ip/主机名/磁盘/进程/用户名/ipc(如kill信号)

yum provides 命令          #查找该命令相关的软件包

docker run --help

docker run -it  docker.io/busybox:latest /bin/bash()          

docker run -it docker.io/redis:latest

docker run -it  docker.io/nginx:latest /bin/bash

docker run -it docker.io/ubuntu:latest 

docker port    名字 端口                   #快捷地查看端口的绑定情况。

docker  ps  [-qa]                              #查看容器信息

参数解析:

  • -t: 在新容器内指定一个伪终端或终端。

  • -i: 允许你对容器内的标准输入 (STDIN) 进行交互。

  • -d: 让容器在后台运行

  • -P:  容器内部端口随机映射到主机的高端口。

  • -p:  容器内部端口绑定到指定的主机端口。(如果要绑定 UDP 端口,可以在端口后面加上 /udp

    如 127.0.0.1:5000:5000/udp)
  • 输出状态:

created(已创建)

restarting(重启中)

running(运行中)

removing(迁移中)

paused(暂停)

exited(停止)

dead(死亡)

https://opsx.alibaba.com/mirror 镜像下载地址

 

docker logs -f  ID/名字                                                #查看容器内部的标准输出 (= tail -f)

docker histo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值