摘要:学习心得前言耗时一周零三天,终于用搭建起自己的开发环境。来搭建一下环境,然后,桌面没了。作为过来人,我只想说,一定要只做一件事,不要过多的去研究,我们只是想搭建本地运行环境。
docker学习心得 前言
耗时一周零三天,终于用docker搭建起自己的开发环境。
详细过程:请参考分解docker在lnmp环境搭建中的作用
下面说说我的心路历程:(从一个系统说起deepin)
Ubuntu16.04用的好好地,突然看见17.10发布了,界面还挺好看。果断升级为17.10。然后发现,界面看着漂亮,用的时候很难受,快捷键和16.04也不太一样,装的软件各种打不开。经过深思熟虑我就换成deepin,各种常见的软件都能装,比如QQ,微信,搜狗等等,美滋滋。来搭建一下环境lnmp,然后,桌面没了。查了一下资料,说deepin桌面版不能装。心想,弄个虚拟机吧,可以各种折腾,折腾坏了重建就行了。想到最近docker很火,果断入坑。
第一阶段:找教程
极客学院这个不错,各种概念讲的很清楚,建议新学者直接通读一遍再动手。还有,不要全看,如果只是想我一样想在本地搭建docker环境。我给你总结几点:
了解docker三个概念,镜像,容器,仓库
掌握这么几个命令和对应命令的常用参数:docker run/ps/rm/rmi/start/stop/exec (创建并运行容器/查看运行的容器/删除容器/删除镜像/启动容器/停止容器/容器外进入容器)
知道Dockerfile是什么?能做什么?我刚开始,想着只用centos官方镜像通过Dockerfile创建出自己的lnmp,想着在Dockerfile里面完成php,mysql,nginx的编译安装,后面发现还不是照着网络上的编译过程各种复制粘贴,还各种报错,自己不会解决,何必自己坑自己。
知道docker-compose是什么?能做什么?(自己看教程)
第二阶段:安装docker
安装我就不说了,着重说一下docker加速器阿里云加速器
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-"EOF" { "registry-mirrors": ["https://4qqg0972.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
第三阶段:学习命令
第四阶段:找别人搭建的lnmp Docker搭建可一键部署的多域名LNMP环境
第五阶段:看完之后满脑袋为什么?开始研究,最后质疑别人搭建的
第六阶段:还是用别人搭建好的(自己搭建不出来)
第七阶段:发现和自己的需求不一致,配置文件对不上
第八阶段:自己搭
第九阶段:觉得自己搭建的很好,在这写个教程,哈哈
总结:这些阶段是作者真实经历过的,可能还比这个多。作为过来人,我只想说,一定要只做一件事,不要过多的去研究,我们只是想搭建本地运行环境。
自己搭建docker lnmp 过程:第一步:docker pull centos # 拉取官方centos镜像
第二步:docker run -it --name "lnmp-self" centos /bin/bash # 创建并运行容器
第三步:使用lnmp一键安装包
第四步:docker commit -a "amor" -m "lnmp" b7515f3e6a82 lnmp:1.4 # 基于已有镜像的容器创建新镜像
第五步:创建Dockerfile进行微调,可能需要安装新软件等
第六步:通过docker-compose 进行管理,开放端口,挂载数据卷(挂载配置,项目目录)
这样做有以下几点好处:
避免编译安装,降低Dockerfile复杂度,避免学习使用大量的linux命令,避免使用自己不熟悉的镜像
易理解,易管理,易扩展(都是自己弄得嘛,哈哈)
下面附上自己的Dockerfile,docker-compose内容,请在第五步和第六步之后参考
Dockerfile
FROM lnmp:1.4 MAINTAINER amor (zhushaolong@ydsdnet.com) # ssh RUN yum install openssh-server -y RUN mkdir -p /data/website/ CMD ["lnmp", "start"]
docker-compose
lnmp: build: . ports: - "80:80" - "443:443" - "22:22" volumes: # nginx 配置文件夹 - ./conf/nginx/:/usr/local/nginx/conf/ # mysql 配置文件 - ./conf/mysql/my.cnf:/etc/my.cnf:rw # php配置文件 - ./conf/php/:/usr/local/php/etc/ # 项目目录 - /data/Nutcloud/Ubuntu/website/:/data/website/ tty: true
目录结构(仅供参考)
. ├── conf │ ├── mysql │ ├── nginx │ └── php ├── docker-compose.yml └── Dockerfile
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/27101.html
摘要:如果不用我们可能将上述讲的命令每搭建一次就需要执行一遍,有没有能统一管理的有,就是在环境搭建中的作用快速创建镜像,快速创建并运行容器,实现统一管理。 前言 初学者在dcoker学习过程中,可能不太清楚docker中那么多的命令,参数,工具在lnmp环境搭建中起了什么作用,下面跟着我来熟悉一下。(本文面向的是不怎么熟悉linux的:phper) 镜像,容器,仓库 镜像:Docker 镜像...
摘要:项目由一组关联的应用容器组成的一个完整业务单元,在文件中定义。 docker搭建lnmp环境 一、Dockerfile定制镜像 二、docker-compose 三、docker-compose编排lnmp环境 1、mysql 2、redis 3、mongo 4、nginx 5、php 6、完整版 四、参考 有收获的话请加颗小星星,没有收获的话可以 反对 没有帮助 ...
摘要:基础命令关于搜索下载查看或者删除单个删除多个删除查看信息占用关于查看重启停止杂项命令网络相关清除网络缓存查看网络列表查看详情挂载目录清除缓存查看列表查看详情系统相关系统信息查看占用清除所有包含构建失败的镜像没有被使用的网络配 docker基础命令 关于images 搜索 docker search php 下载 docker pull php:7.3.6-fpm-alpine3....
摘要:基础命令关于搜索下载查看或者删除单个删除多个删除查看信息占用关于查看重启停止杂项命令网络相关清除网络缓存查看网络列表查看详情挂载目录清除缓存查看列表查看详情系统相关系统信息查看占用清除所有包含构建失败的镜像没有被使用的网络配 docker基础命令 关于images 搜索 docker search php 下载 docker pull php:7.3.6-fpm-alpine3....
阅读 2958·2023-04-26 00:23
阅读 3371·2021-09-13 10:28
阅读 2130·2021-08-31 14:18
阅读 2834·2019-08-30 15:54
阅读 1868·2019-08-30 15:43
阅读 1234·2019-08-29 16:56
阅读 2778·2019-08-29 14:16
阅读 2025·2019-08-28 17:51