Frank的学习之路

RHCA_6.3_Cl270-02-01-Containers常见命令

下载、部署、定制和保存container image
目标:
从RHN获得RHEL container image
在RHEL Atomic Host上运行和管理一个简单的container

从image Regsitry 下载一个Container image
查看本地的image列表
为image创建alias
将本地Image用tar进行打包
创建一个提供莫以Service 的Container Image

下载一个container image,它是一个只读的模板,用来创建container
可以在公共image registries中进行下载
docker search 命令查找
docker search -s 1 fedora
管理镜像图表:
|----image--ro---|---layer-rw---|
|----------------Container--------|
|------------new-image----------|
registry 1.public 2.private 3.Atomic:private registry
#docker search imagename --->1,2
#docker pull imagename --->1,2--->3 下载镜像到Atomic registry仓库
#docker push imagename:tag--->3--->1,2 从Atomic registry仓库上传镜像
#docker load -i image.tar--->HD image.tar --->3 上传硬盘镜像到Atomic registry仓库
#docker save imagename:tag>/tmp/image.tar---->3--->HD 保存image到硬盘
#docker images--->list 3 images 列出镜像列表
#docker rmi image:tag--->delete image from 3 删除镜像
#docker inspect rhel7:20170528 查看详细信息
#docker run -it -v hostdir:containerdir image:tag /bin/bash 运行容器 it:交互模式终端
-i:给一个shell环境 -t:分配一个pseudo-tty /bin/bash :在container中运行/bin/bash
#docker run -it -d image:tag /bin/bash 容器后台运行
#docker exec -it containerID /bin/bash 进入运行的容器
#docker inspect containerID |grep ip 查看容器地址
#docker ps 查看运行容器
#docker ps -a 查看正在运行和历史运行容器历史记录
#docker rm 9a6 删除记录
#docker ps -aq 只限制ID号
#docker rm $(docker ps -aq) 删除所有记录
#docker stop|kill d1c Kill docker进程
#brctl show 显示网卡
#docker run -p 8080:80 --rm -it fedora /bin/bash 端口转发
atomic port --->container port
#docker commit containerID imagename:tag--->docker save

Atomic1 Atomic2
httpd mysqld
docker0 docker0
172.25.0.3 172.25.0.3
service service iptables NAT
10.0.1.1<--->10.0.1.2 net.ipv4.ip_forward
HAPROXY ROUTER
172.25.0.25
container--->service--->router

httpd mysql
172.25.0.3 172.25.0.4
service 10.0.0.3 service 10.0.0.4
下载一个container image
使用docker pull命令将image下载到本地RHEL Atomic Host 中
docker pull fedora

另一个办法,将docker load将本地硬盘的image上传
docker load -i rhel-server-docker-7.0-23.x86_64.tar.gz
#docker tag命令可以为本地image创建一个新的tag
#docker tag registry.access.redhat.com/rhel7:latest rhel7:20170528
P37 Managing Container Images

创建一个提供Service的Container Image
利用container image 创建一个container
在container中安装并配置web服务器
将定制后的container保存一个新的container image进行tag

container的启动流程:
#docker run 命令来启动container,流程如下:
如果host本地没有image,为host下载
创建一个新的container包含namespaces
分配文件系统并以读写的方式挂载
通过docker0网桥,分配network/bridge接口 brct show 查看网桥
在IP池中为container分配IP地址
启动进程

RHEL Atomic Host使用lv来提供存储池
ps -efZ 查看进程

返回顶部