docker容器自动化

第十五章
实验:配置docker容器自动化

  1. 设置网络yum源并安装docker服务
    设置网络yum
    [[email protected] ~]# cd /etc/yum.repos.d/
    [[email protected] yum.repos.d]# rm -rf *
    [[email protected] yum.repos.d]# ls
    [[email protected] yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
    [[email protected] yum.repos.d]# ls
    CentOS7-Base-163.repodocker容器自动化
    安装docker服务
    [[email protected] ~]# yum -y install docker
    docker容器自动化
    设置服务开机自动启动

[[email protected] ~]# systemctl start docker
[[email protected] ~]# systemctl enable docker
docker容器自动化
检查docker版本
[[email protected] ~]# docker version
docker容器自动化
服务安装完成

  1. 镜像管理
    查找指定镜像
    [[email protected] ~]# docker search httpd
    docker容器自动化

下载指定镜像
[[email protected] ~]# docker pull hub.c.163.com/public/centos:6.7-tools
docker容器自动化
查看镜像
[[email protected] ~]# docker images
docker容器自动化

修改docker镜像名字
[[email protected] ~]# docker tag hub.c.163.com/public/centos:6.7-tools centos6.7:v1.0
docker容器自动化
删除修改的docker镜像
[[email protected] ~]# docker rmi centos6.7:v1.0
docker容器自动化
导出docker镜像
[[email protected] ~]# docker save -o ./centos6.7.tar hub.c.163.com/public/centos:6.7-tools
docker容器自动化
导入docker镜像文件两种方式
[[email protected] ~]# docker load --input ./centos6.7.tar
[[email protected] ~]# docker load < centos6.7.tar
docker容器自动化
docker容器自动化
上传镜像(没有镜像仓库无法验证以后使用)
[[email protected] ~]# docker push hub.c.163.com/public/centos:6.7-tools

  1. docker容器的基本操作
    docker的常见的选项
    -i:保持容器打开状态
    -t:分配一个伪终端
    -d:后台运行容器
    –name:指定容器名字
    创建运行一台容器名字是centos01后台运行
    [[email protected] ~]# docker create -it --name centos01 hub.c.163.com、public、centos:6.7-tools
    docker容器自动化
    启动服务并查看已启动的服务 -a查看所有服务
    [[email protected] ~]# docker start centos01
    docker容器自动化
    创建centos02验证docker ps -a
    [[email protected] ~]# docker ps -a
    docker容器自动化
    停止容器centos01
    [[email protected] ~]# docker stop centos01
    docker容器自动化
    创建并直接运行容器
    [[email protected] ~]# docker run -it --name centos02 hub.c.163.com/public/centos:6.7-tools /bin/bash
    docker容器自动化
    开启路由功能
    [[email protected] ~]# vim /etc/sysctl.conf
    net.ipv4.ip_forward = 1
    docker容器自动化
    验证网络
    docker容器自动化
    在容器中安装httpd apache
    [[email protected] ~]# yum -y install httpd
    docker容器自动化
    设置服务开机自动启动
    [[email protected] ~]# chkconfig --level 35 httpd on
    docker容器自动化
    验证设置
    docker容器自动化
    启动服务
    [[email protected] ~]# service httpd start
    docker容器自动化
    监听端口
    [[email protected] ~]# netstat -anptu | grep 80
    docker容器自动化
    设置网站主页并访问并重启服务
    [[email protected] ~]# echo “www.benet.com” > /var/www/html/index.html
    [[email protected] ~]# service httpd restart
    docker容器自动化
    安装elinks验证
    [[email protected] ~]# yum -y install elinks
    [[email protected] ~]# elinks http://172.17.0.4(IP地址ifconfig查看)
    进入已启动的容器中
    [[email protected] ~]# docker exec -it centos01 /bin/bash
    docker容器自动化
    导出容器
    [[email protected] ~]# docker export centos01 > ./httpd.tar
    docker容器自动化
    删除已启动和没有启动的容器-f强制删除已启动的容器
    [[email protected] ~]# docker rm centos01
    [[email protected] ~]# docker rm -f centos01
    docker容器自动化
    导入容器
    [[email protected] ~]# cat ./httpd.tar | docker import - httpd:v1.0
    docker容器自动化
    运行备份导入的httpd容器
    [[email protected] ~]# docker run -it --name centos02 httpd:v1.0 /bin/bash
    docker容器自动化
    验证
    [[email protected] ~]# docker ps
    docker容器自动化
    进入容器中
    [[email protected] ~]# docker exec -it centos02 /bin/bash
    docker容器自动化
    验证是否迁移成功httpd服务成功开机监听到端口
    [[email protected] ~]# service httpd start
    [[email protected] ~]# netstat -anptu | grep 80
    docker容器自动化
    限制容器使用1g内存
    [[email protected] ~]# docker run -it --name centos03 -m 1g hub.c.163.com/public/centos:6.7-tools
    docker容器自动化
    限制容器使用1个内核
    [[email protected] ~]# [[email protected] ~]# docker run -it --name centos04 -d --cpuset-cpus=1-1 hub.c.163.com/public/centos:6.7-tools
    docker容器自动化