本小白早上忽然对mongodb的可靠性再次产生深厚的兴趣,
而后查询到4.0已经支持副本集级别的事务了,
虽然不太明白,
但重要的是事务不向下兼容,
必须把兼容性提升到4.0php
到个人ubuntu上查一下html
mongo --version
结果是3.6.3
因而考虑升级一下mongodb
查到了资料,好比:
让你的mongodb支持事务---升级到mongodb 4.0mysql
但,重点是这个连接:
在 Ubuntu Linux 上安装最新版本的 MongoDBlinux
个人注意力所有被评论区的docker吞噬nginx
因而我找到了这篇文章:
这多是最为详细的Docker入门吐血总结git
从版权角度来讲,这并非做者的原文。
但下方的来源连接已经不是原文,而是做者主站。
惋惜了,就看这个吧。
顺便说一下,这个做者,是个21岁大萌弟,哈哈,好可爱。github
Docker 资源汇总
MAC下docker搭建Nginx+PHP+MySQLsql
你们生产环境用 Docker 吗?
除去评论区一堆恶搞的回复外,真实状况很明显了:mongodb
如今在生产环境用的是很广泛的,一般互联网公司都在用。
弹性资源占用是很大优点,须要持续集成快速迭代的项目一般都容器化部署。
在线业务所有 docker 化
不只仅是 docker,还用 k8s。。。
生产环境还得靠 k8s
再用 docker swarm
而后搜了两篇关于k8s的文章:
十分钟带你理解Kubernetes核心概念【干货满满,推荐!】
干货满满!10分钟看懂Docker和K8S【其实很水】docker
速成是不可能的,
想一口吃个胖子,会被噎死…
因此我仍是慢慢来,先在mac上搞一个,试着玩。
熟练以后,把ubuntu上的mongodb升级了。
而后有时间再搞k8s
还有一个分支,是mac上使用docker
因为历史缘由,mac上的docker貌似演化了不少次,现在我安装的是:
Docker version 19.03.1, build 74b1e89
有这么一个帖子,算做一个引子,未来无聊了能够研究一下mac的docker:
Mac 下如何仅安装 docker CLI 而不安装整套 Docker
Docker Version Manager
在b站看了视频,连接我时间放上来
放一张神图,命令都在神图里:
图片来源: https://b23.tv/av58402749,我作了命令的标注
进阶:
其实容器之间都是属因而一个网段的:172.17.0.2/16
也就是说,咱们启动一个nginx容器,而后再启动一个alpine,curl 172.17.0.2
就能访问到nginx的主页。
若是以为记ip很麻烦,还能够用--link来映射
$ docker run -d -p80:80 --name mynginx nginx //起名为mynging $ docker run -dit --link mynginx:mynginx alpine //--link第一个mynginx是刚才容器名称,第二个mynginx是内部的域名。它会出如今alpine的`/etc/hosts`中
这样在alpine中,curl mynginx便可访问了。
插播一条本台刚刚收到的消息:
发现了一些极小的linux:alpine,而且:
目前 Docker 官方已开始推荐使用 Alpine 替代以前的 Ubuntu 作为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提升,主机之间的切换更方便,占用更少磁盘空间等。
这里有一些命令,记录一下,略有不一样
$ docker run -dit --name myalp alpine //若是只写-d,则启动不了 $ docker exec -it myalp sh //alpine很小,因此只有sh,连bash都没有 # apk add curl //使用apk add来安装经常使用软件
消息插播结束,继续正文
但,若是咱们搭建lnmp环境呢?这样一个一个--link有点慢啊
因而请出今天的主角:docker-compose
首先,咱们作一些准备文件:
$ tree . ├── conf │ └── nginx.conf ├── docker-compose.yml └── html ├── index.html ├── index.php └── mysql.php
nginx.conf:
nginx.conf参考:https://blog.csdn.net/weixin_...
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; include fastcgi_params; } } }
docker-compose.yml:
version: "3" services: nginx: image: nginx:alpine ports: - 80:80 volumes: - /root/html:/usr/share/nginx/html - /root/conf/nginx.conf:/etc/nginx/nginx.conf php: image: devilbox/php-fpm:5.2-work-0.89 //php-fpm是在hub.docker.com中搜索的,选择的第二个。 volumes: - /root/html:/var/www/html mysql: image: mysql:5.6 environment: - MYSQL_ROOT_PASSWORD=123456
所有文件建立好了,就能够启动啦:
docker-compose up -d //这样就能够运行刚才的配置文件
更多关于docker-compose的介绍:
Docker快速入门——Docker-Compose
【实战】参考资料:
https://b23.tv/av58402749
https://b23.tv/av61131351