通过学习Docker,发现他的强大,本文简单介绍Docker的安装、镜像制作和导入及导出。
参考:http://www.kancloud.cn/thinkphp/docker_practice/30909
一、前置工作(第一步<---做一个centos6.8的系统镜像)
I、在centos6系列下做镜像【专门用来做镜像的服务器】:
1、#yum -y install febootstrap
2、#febootstrap -i bash -i wget -i vim-minimal -i yum -i iputils -i iproute centos68 centos68-doc http://mirrors.aliyun.com/centos/6.8/os/x86_64/
3、在非“centos68-doc”目录下执行:
#tar -cf centos68-doc.tar centos68-doc/
II、然后在docker容器的服务器上面装docker软件【用来跑docker的服务器】:
A、centos6下:
#rpm -ivh http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
#yum install docker-io -y
B、CentOS7下:
#yum install docker -y
启动docker
#service docker start
尝试搜索镜像:
#docker search nginx
III、在docker容器的服务器上面导入第一步做的镜像【用来跑docker的容器】;
#cd centos68-doc/
#tar -c .|docker import - centos68-bash
运行命令:/bin/bash和/bin/ls
#docker run -it centos68-bash /bin/bash
#docker run -it centos68-bash /bin/ls
查看当前用户:whoami
查看镜像:docker images
查看已经退出的服务:docker ps -a
重新进入容器:docker attach elegant_davinci
删除镜像:
注意:
获取镜像#docker pull ubuntu:12.04
获取之前,需要#docker search ubuntu:12.04,查看是否存在!!!!
Ⅳ操作
1、后台运行容器:ctrl+shift+p+q
2、把该容器保存为一个新镜像
#docker commit -m='first_commit' b317dca9e875centos68-bash-num_01
二、配置服务(Nginx)
Ⅰ启动容器
#docker run -it centos68-bash-num_01 /bin/bash
Ⅱnginx
1、下载
[root@controller centos68-doc]# docker run -itcentos68-bash-num_01 /bin/bash
bash-4.1# cd /opt/
bash-4.1# ll
bash: ll: command not found
bash-4.1# ls
bash-4.1# mkdir nginx
bash-4.1# cd nginx
bash-4.1# wget http://101.96.8.164/nginx.org/download/nginx-1.10.2.tar.gz
2、环境准备
#yum install gcc gcc-c++ libcurl-devel-y
#yum install tar -y
#yum install pcre-devel openssl-y
#yum install openssl-devel
解压:tar -zxvf nginx-1.10.2.tar.gz
3、进入nginx目录下
bash-4.1# cd nginx-1.10.2
bash-4.1#
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
成功结果:
安装:make&make install
4、建用户
#groupadd -g 3001 nginx
#useradd -u 3001 -g 3001 nginx
nginx添加权限
5、启动nginx
#/user/local/nginx/sbin/nginx
查看成功标志
保存容器:
(1)、后台运行容器:ctrl+shift+p+q
(2)、把该容器保存为一个新镜像
#docker ps
#docker commit -m='first_commit' bfbce953c95acentos68-bash-num_02
(3)一定要先保存,再停止容器
#docker stop bfbce953c95a
导出镜像:
sudo docker save -o /opt/docker-nginx.tarcentos68-bash-num_nginx:latest
载入镜像
可以使用 docker load 从导出的本地文件中再导入到本地镜像库,例如
$ sudo docker load --input /opt/docker-nginx.tar
或
$ sudo docker load < /opt/docker-nginx.tar
最后停止服务
service docker stop
参考:
1、http://www.kancloud.cn/thinkphp/docker_practice/30906
2、https://docs.docker.com/engine/installation/linux/centos/#/install-with-yum
3、http://mirrors.aliyun.com/