用 Docker 制作的 Laravel 开发环境

自己基于centos7.6.1810和宝塔7.0.12制作的docker镜像,600多M,将通过 Docker 在个人本地电脑上构建一个快速、轻量级、不依赖本地电脑所安装的任何开发套件的可复制的 Laravel 和 Vue 项目的开发环境
希望前辈能指导我是思维惯性 下面是我自己在用的很娄的脚本
求职 个人成长经历 1年 PHP,求点化
环境k8s集群外
一键部署: docker login

#使用—>制作镜像->停止容器—>删除容器->上传镜像->运行镜像容器-> 工作一小时 休息10分钟 每天进步一点点

############# 增 #############
docker run \ 
--name tp5.1 \ 
--privileged=true \ 
--restart always \ 
-itd \ 
-p 21:21 \ 
-p 80:80 \ 
-p 443:443 \ 
-p 888:888 \ 
-p 3306:3306 \ 
-p 6379:6379 \ 
-p 8888:8888 \ 
-p 9501:9501 \ 
-p 9508:9508 \ 
-p 18306:18306 \ 
-p 18307:18307 \
1872220587/bt:centos7.6.1810..Bt7.0.12..tp5.1..v1.1..Study
#-v /mnt/wwwroot:/www/wwwroot 
#本地windocs目录->共享给局域网windocs->共享给虚拟机linux->docker -v <—>nfs.sh 
docker exec -it tp5.1 /bin/bash #使用
#kubectl exec -it cloud-centos-0 /bin/bash
#服务启动
bt 1
/etc/init.d/nginx start
/etc/init.d/mysqld start
/etc/init.d/pure-ftpd start
/etc/init.d/php-fpm-56 start
/etc/init.d/php-fpm-73 start
/etc/init.d/redis restart
#   end 使用—>制作镜像->停止容器—>删除容器->上传镜像->运行镜像容器-> 工作一小时 休息10分钟 每天进步一点点 

#项目初始化   常用操作
############# 改  #############
#docker exec -it tp5.1 /bin/bash #使用
kubectl exec -it cloud-centos-0 /bin/bash
cd /www/wwwroot
rm -rf tp5.zhaofa.love
#mkdir tp5.zhaofa.love
git clone https://gitee.com/heyingmin/xhcms2.git tp5.zhaofa.love
composer create-project topthink/think=5.1.x-dev tp5.zhaofa.love
cd /www/wwwroot/tp5.zhaofa.love

#
#所有输出都被重定向到一个名为nohup.out的文件中
command > out.file 2>&1 & 
nohup command > nohup.out 2>&1 &
nohup php think swoole &
nohup php think swoole:server &
nohup php easyswoole start &

#日常学习
docker commit -a "1872220587" -m "tp5.1学习" tp5.1 1872220587/bt:centos7.6.1810..Bt7.0.12..tp5.1..v1.0..Study #提交'''
docker push 1872220587/bt:centos7.6.1810..Bt7.0.12..tp5.1..v1.1..Study #上传

############# 删 #############
docker restart tp5.1 #重启
docker stop tp5.1 #停止
docker rm tp5.1 #删除

#删除所有未被容器使用的镜像:
docker image prune -a
#删除所有停止运行的容器:
docker container prune
#删除所有未被挂载的卷:
docker volume prune
#删除所有网络:
docker network prune

环境k8s集群内




---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  annotations:
    k8s.eip.work/displayName: centoss
    k8s.eip.work/ingress: 'true'
    k8s.eip.work/service: NodePort
    k8s.eip.work/workload: cloud-centoss
  creationTimestamp: '2019-12-04T20:30:21Z'
  generation: 7
  labels:
    k8s.eip.work/layer: cloud
    k8s.eip.work/name: cloud-centoss
  name: cloud-centoss
  namespace: default
  resourceVersion: '5214645'
  selfLink: /apis/apps/v1/namespaces/default/statefulsets/cloud-centoss
  uid: bcb38a2d-ef89-48de-80a4-ff9d5e1ff57b
spec:
  podManagementPolicy: OrderedReady
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s.eip.work/layer: cloud
      k8s.eip.work/name: cloud-centoss
  serviceName: cloud-centoss
  template:
    metadata:
      labels:
        k8s.eip.work/layer: cloud
        k8s.eip.work/name: cloud-centoss
    spec:
      containers:
        - image: '1872220587/bt:centos7.6.1810..Bt7.0.12..tp5.1..v1.1..Study'
          imagePullPolicy: IfNotPresent
          name: centoss
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
            - mountPath: /www/wwwroot/tp5.zhaofa.love
              mountPropagation: HostToContainer
              name: centoss
              subPath: tp5.zhaofa.love
            - mountPath: /www/wwwroot/laravel.zhaofa.love
              mountPropagation: HostToContainer
              name: centoss
              subPath: laravel.zhaofa.love
            - mountPath: /www/wwwroot/web.zhaofa.love
              mountPropagation: HostToContainer
              name: centoss
              subPath: web.zhaofa.love
      dnsPolicy: ClusterFirst
      nodeName: node1
      restartPolicy: Always
      schedulerName: default-scheduler
      terminationGracePeriodSeconds: 30
      volumes:
        - name: centoss
          persistentVolumeClaim:
            claimName: default
  updateStrategy:
    rollingUpdate:
      partition: 0
    type: RollingUpdate
status:
  collisionCount: 0
  currentReplicas: 1
  currentRevision: cloud-centoss-7bcb7b74f8
  observedGeneration: 7
  readyReplicas: 1
  replicas: 1
  updateRevision: cloud-centoss-7bcb7b74f8
  updatedReplicas: 1

---
apiVersion: v1
kind: Service
metadata:
  annotations:
    k8s.eip.work/displayName: centoss
    k8s.eip.work/workload: cloud-centoss
  creationTimestamp: '2019-12-04T20:30:21Z'
  labels:
    k8s.eip.work/layer: cloud
    k8s.eip.work/name: cloud-centoss
  name: cloud-centoss
  namespace: default
  resourceVersion: '4743644'
  selfLink: /api/v1/namespaces/default/services/cloud-centoss
  uid: 879c4fbf-1538-4042-8d5a-5cd7717cae78
spec:
  clusterIP: 10.1.57.173
  externalTrafficPolicy: Cluster
  ports:
    - name: m4ws5x
      nodePort: 32678
      port: 8888
      protocol: TCP
      targetPort: 8888
    - name: rg7ccs
      nodePort: 30579
      port: 80
      protocol: TCP
      targetPort: 80
    - name: qq3rgw
      nodePort: 32460
      port: 21
      protocol: TCP
      targetPort: 21
    - name: fjc2wj
      nodePort: 32310
      port: 3306
      protocol: TCP
      targetPort: 3306
    - name: sgcbpm
      nodePort: 31170
      port: 888
      protocol: TCP
      targetPort: 888
    - name: 7j7mfq
      nodePort: 30366
      port: 443
      protocol: TCP
      targetPort: 443
  selector:
    k8s.eip.work/layer: cloud
    k8s.eip.work/name: cloud-centoss
  sessionAffinity: None
  type: NodePort

---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    k8s.eip.work/displayName: centoss
    k8s.eip.work/workload: cloud-centoss
  creationTimestamp: '2019-12-04T20:32:34Z'
  generation: 9
  labels:
    k8s.eip.work/layer: cloud
    k8s.eip.work/name: cloud-centoss
  name: cloud-centoss
  namespace: default
  resourceVersion: '4821923'
  selfLink: /apis/networking.k8s.io/v1beta1/namespaces/default/ingresses/cloud-centoss
  uid: 204a3138-4536-4880-a113-391be2f6b454
spec:
  rules:
    - host: bt.zhaofa.love
      http:
        paths:
          - backend:
              serviceName: cloud-centoss
              servicePort: m4ws5x
            path: /
    - host: tp5.zhaofa.love
      http:
        paths:
          - backend:
              serviceName: cloud-centoss
              servicePort: rg7ccs
            path: /
    - host: laravel.zhaofa.love
      http:
        paths:
          - backend:
              serviceName: cloud-centoss
              servicePort: rg7ccs
            path: /
    - host: mysql.zhaofa.love
      http:
        paths:
          - backend:
              serviceName: cloud-centoss
              servicePort: rg7ccs
            path: /
    - host: shop.zhaofa.love
      http:
        paths:
          - backend:
              serviceName: cloud-centoss
              servicePort: rg7ccs
            path: /
    - host: www.zhaofa.love
      http:
        paths:
          - backend:
              serviceName: cloud-centoss
              servicePort: rg7ccs
            path: /
    - host: tp6.zhaofa.love
      http:
        paths:
          - backend:
              serviceName: cloud-centoss
              servicePort: rg7ccs
            path: /
    - host: web.zhaofa.love
      http:
        paths:
          - backend:
              serviceName: cloud-centoss
              servicePort: rg7ccs
            path: /
    - host: zhaofa.love
      http:
        paths:
          - backend:
              serviceName: cloud-centoss
              servicePort: rg7ccs
            path: /
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

本地开发环境用 k8s来搭集群,有点杀鸡用牛刀啊。 不过折腾下可以

简单本地开发,按需搭建就好了

附上我搭的简单环境 https://github.com/839891627/dnpm

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!