docker容器自动化
第十五章
实验:配置docker容器自动化
- 设置网络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.repo
安装docker服务
[[email protected] ~]# yum -y install docker
设置服务开机自动启动
[[email protected] ~]# systemctl start docker
[[email protected] ~]# systemctl enable docker
检查docker版本
[[email protected] ~]# docker version
服务安装完成
- 镜像管理
查找指定镜像
[[email protected] ~]# docker search httpd
下载指定镜像
[[email protected] ~]# docker pull hub.c.163.com/public/centos:6.7-tools
查看镜像
[[email protected] ~]# docker images
修改docker镜像名字
[[email protected] ~]# docker tag hub.c.163.com/public/centos:6.7-tools centos6.7:v1.0
删除修改的docker镜像
[[email protected] ~]# docker rmi centos6.7:v1.0
导出docker镜像
[[email protected] ~]# docker save -o ./centos6.7.tar hub.c.163.com/public/centos:6.7-tools
导入docker镜像文件两种方式
[[email protected] ~]# docker load --input ./centos6.7.tar
[[email protected] ~]# docker load < centos6.7.tar
上传镜像(没有镜像仓库无法验证以后使用)
[[email protected] ~]# docker push hub.c.163.com/public/centos:6.7-tools
- docker容器的基本操作
docker的常见的选项
-i:保持容器打开状态
-t:分配一个伪终端
-d:后台运行容器
–name:指定容器名字
创建运行一台容器名字是centos01后台运行
[[email protected] ~]# docker create -it --name centos01 hub.c.163.com、public、centos:6.7-tools
启动服务并查看已启动的服务 -a查看所有服务
[[email protected] ~]# docker start centos01
创建centos02验证docker ps -a
[[email protected] ~]# docker ps -a
停止容器centos01
[[email protected] ~]# docker stop centos01
创建并直接运行容器
[[email protected] ~]# docker run -it --name centos02 hub.c.163.com/public/centos:6.7-tools /bin/bash
开启路由功能
[[email protected] ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
验证网络
在容器中安装httpd apache
[[email protected] ~]# yum -y install httpd
设置服务开机自动启动
[[email protected] ~]# chkconfig --level 35 httpd on
验证设置
启动服务
[[email protected] ~]# service httpd start
监听端口
[[email protected] ~]# netstat -anptu | grep 80
设置网站主页并访问并重启服务
[[email protected] ~]# echo “www.benet.com” > /var/www/html/index.html
[[email protected] ~]# service httpd restart
安装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
导出容器
[[email protected] ~]# docker export centos01 > ./httpd.tar
删除已启动和没有启动的容器-f强制删除已启动的容器
[[email protected] ~]# docker rm centos01
[[email protected] ~]# docker rm -f centos01
导入容器
[[email protected] ~]# cat ./httpd.tar | docker import - httpd:v1.0
运行备份导入的httpd容器
[[email protected] ~]# docker run -it --name centos02 httpd:v1.0 /bin/bash
验证
[[email protected] ~]# docker ps
进入容器中
[[email protected] ~]# docker exec -it centos02 /bin/bash
验证是否迁移成功httpd服务成功开机监听到端口
[[email protected] ~]# service httpd start
[[email protected] ~]# netstat -anptu | grep 80
限制容器使用1g内存
[[email protected] ~]# docker run -it --name centos03 -m 1g hub.c.163.com/public/centos:6.7-tools
限制容器使用1个内核
[[email protected] ~]# [[email protected] ~]# docker run -it --name centos04 -d --cpuset-cpus=1-1 hub.c.163.com/public/centos:6.7-tools