docker容器部署
Posted jeffzhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker容器部署相关的知识,希望对你有一定的参考价值。
一.容器三大概念
1.镜像 2.容器 相当于打隔断,独立的空间 3.仓库
二.概念:由于在物理机上实行的隔离,启动容器和启动进程一样快速
三.核心技术:
1.Cgroups (Control Groups)-资源管理:控制最多使用多少内存,cpu,用来限制使用资源
2.NameSpace-命名空间 在总空间(系统驱动所有资源)的基础上划分出独立的空间,隔离6个东西如下:
1.主机名(一个终端改主机名,其余所有终端打开都能看到改过的主机名) -容器看不到
2.网络命名空间(当一个终端改ip地址的时候,其余终端用原ip则登不上去)-容器ip变了
3.文件系统命名空间(chroot 改变根目录路径)
4.进程命名空间(pstree执行几个进程,)只能看见自己的进程,别的进程看不见
5.信号向量命名空间(比如kill -l 有64个信号,发一个信号进程会有回应)
6.用户隔离(不同的命名空间里有不同的用户)
3.Selinux安全
三.Docker概念
1.是一套完整的容器管理系统
2.docker提供了一组命令,让用户更加直接方便的使用
3.优点:相比传统虚拟化技术,容器更加简洁高效,容器不需要虚拟机操作系统(缺点就是linux不能兼容windows),容器使用共享公共库和程序
缺点:1.隔离线没有虚拟化强(改一个所有全变了)
2.公用linux内核,安全性有先天缺陷
3.Selinux 难以控制
4.监控容器和容器排错是挑战
四.安装docker
1.安装前准备:
需要64位操作系统
至少是RHEL6.5以上的版本,强烈推荐RHEL7
关闭防火墙(必须)
2.配置yum源(创建两台虚拟机docker1,docker2)
1.docker软件包位于光盘RHEL-extras.iso下面
2.在物理机ftp目录下创建文件夹extras
mkdir /var/ftp/extras
3.挂载光盘在此目录下
mount RHEL-extras /var/ftp/extras
df -h 查看一下
4.安装docker
yum -y install docker(35个包)
systemctl restart docker
systemctl enable docker
五.镜像
1.在docker中容器是基于镜像启动的
2.镜像 是启动容器的核心
3.镜像启用分层设计
4.使用快照的cow技术,确保底层数据不丢失
5.查看镜像 docker images
6.官网:(hub.docker.com网址上下载镜像)
7.命令行搜索镜像: docker search 关键字(如nginx)
]#docker search busybox
]#docker pull docker.io/busybox (这个是官方的,下载次数最多)
六.下载.上传镜像
]#docker help pull
]#docker pull [options] name[:tag| @digest]
]#docker pull docker.io/busybox 下载镜像
]#docker push docker.io/busybox 上传镜像
打包镜像
docker save 名称(repository) : 标签(tag) -o 文件名
docker1]#docker save docker.io/busybox:latest -o busybox.tar
docker1]#scp busybox.tar root@192.168.1.32:/root
docker2]#ls
docker2]# docker images
docker2]#docker load -i busybox.tar
docker2]#docker images
运行容器:
docker run -it docker.io/busybox:latest /bin/sh #/bin/sh 为启动命令,如果不写就为默认的启动命令
/ # ps -ef 进程隔离
/ # hostname 主机名隔离
/ # ifconfig 网络隔离
/ # ls / 文件系统隔离
/ # cat /etc/passwd 用户隔离
/ # 信号向量命名空间隔离
镜像常用命令
1.docker history 查看镜像的制作历史
]#docker history docker.io/redis:latest
2.docker inspect 查看底层详细信息
]#docker inspect docker.io/redis:latest
Env 环境变量
Cmd 启动命令
3.docker images 查看镜像列表
4.docker pull 下载镜像
]#docker pull docker.io/busybox 下载镜像
5.docker push 上传镜像
]#docker push docker.io/busybox 上传镜像
6.docker rmi 删除本地镜像
]#docker rmi docker.io/centos
7.docker save 镜像另存为tar包
]#docker save docker.io/busybox:latest -o busybox.tar
8.docker load 使用tar包导入镜像
]#docker load -i busybox.tar
9.docker search 搜索镜像
10.docker tag 修改镜像名称和标签
]#docker tag docker.io/centos:latest cen:v1 将 docker.io/centos:latest 改为 cen:v1
容器常用命令:
docker run 运行容器
docker ps 查看容器列表
docker stop 关闭容器
docker start 启动容器
docker restart 重启容器
docker attach|exec 进入容器
docker inspect 查看容器底层信息
docker top 查看容器进程列表
docker rm 删除容器
以上是关于docker容器部署的主要内容,如果未能解决你的问题,请参考以下文章