docker使用心得总结

docker使用心得总结_第1张图片

1 参考链接:
两个容器之前互连:https://blog.csdn.net/cmzsteven/article/details/49227323
docker命令大全 :http://www.runoob.com/docker/docker-command-manual.html

2 docker 的安装教程:
Win 7 : http://www.runoob.com/docker/windows-docker-install.html
Centos7 和麒麟系统 : https://www.cnblogs.com/suidouya/p/5718104.html

3 docker的使用

在linux环境中:
先下载基础镜像centos - 》 docker pull centos (从Docker Hub下载)
运行镜像 - 》 docker run -it -v /usr/test:/www -p 8080:80 centos /bin/bash
参数解释 :-it 分配一个伪终端
                   -p 端口映射
                   -v 将本机目录挂载到虚拟机上


    	在centos 安装好php、mysql、apache,开放端口

访问本机ip加8080 看到apache 的首页

生成当前环境的镜像lamp - 》 docker commit 容器进程id lamp

查看镜像 -》 docker images 

接下来介绍如何生成tar包

将镜像lamp生成tar包 -》 docker save -o lamp.tar lamp

两边都是linux系统可以scp 获取,使用下面命令:
scp  [email protected]:/lamp.tar  /usr/lamp.tar

转化为镜像 -》 docker load < /usr/lamp.tar

运行镜像 - 》 docker run -it -v /usr/test:/www -p 8080:80 lamp /bin/bash
 
访问本机ip加8080 端口即可看到 apache页面

4扩展
在主机 运行lamp镜像上的脚本:
docker exec -it lamp /bin/sh /root/runoob.sh

5 Dockerfile 
Dockerfile 是docker生成镜像的脚本文件。如下图生成python3的镜像

用Dockerfile 生成镜像的好处:
1.体积小,传输方便
    	缺点:一些系统源缺少,或网络不好时,影响生成镜像时间,严重的就中断生成镜			像;




6注意的地方
用ctrl+d 退出终端 或杀死容器的进程时,在这里存的文件,系统设置等等操作是不会被保存的,要保存则要生成新的镜像。所以数据和文件不要在此虚拟机存,该虚拟机的定位只是运行环境。


7遇到的一些问题

Linux 环境:

⑴安装docker,官网是推荐安装docker-ce,实际安装过程会报缺少container-selinux >=2.9这个依赖,目前找不到可以源来安装这个依赖,所以还是按照本文提供的安装教程来做。
⑵ 在docker虚拟机中开放端口,报权限不够,先设置虚拟机root密码,保存镜像,杀掉该虚拟机进程,用这个命令运行docker run -it -p 8080:80 --privileged=true -v /F/flaskApp/div:/usr/www centos /bin/bash,输入账号密码后就进入虚拟机,重新安装防火墙和开放端口即可。(windows 环境也有这个问题) 

Windows 7 环境:
⑴ 使用docker时,要先启动Oracle VM VirtualBox 再启动Docker Quickstart Terminal。因为非linux环境下通过虚拟机安装linux系统再来跑docker。
⑵ Docker Quickstart Terminal 报 “检测程序过程出错” 或 “没有IP” ,先关闭Oracle VM VirtualBox和Docker Quickstart Terminal 程序,打开任务管理器,杀死所以VirtualBox相关的进程,再按顺序打开Oracle VM VirtualBox和Docker Quickstart Terminal。

 

你可能感兴趣的:(PHP)