跑步遐思

作者:泰戈尔    发布于:

又到520咯

2019年05月20日21:26:20,又一个520,对我好像没什么触动。

docker 怎么用

一直构思着要把docker用起来,之前对这块有一点点皮毛性质的了解,但是深度远远达不到实际应用,还是得靠一些实际的例子来锻炼锻炼才行。年前在自己的阿里云的服务器上想尝试着搭建一套最简单的MySQL的master-slave环境,结果被各种环境搞的晕头转向,最后也没能成功。现在了解了docker了,还不来试试就有点说不过去了。

然后就试着踩了踩坑,MySQL主从模拟大致也算是实现了这套环境。整个流程下来,我对docker的喜爱更深了,开箱即用,用完即走的特性真的是很方便,而且容器化后各自的环境都是独立的,再也不用担心宿主机上的环境污染问题了。

Mac上的docker还附带了docker swarm这个轻量级的容器编排引擎,基于compose.yml的配置也能实现更灵活的设置。去年组里试着搭建一套golang的微服务体系时,我老大自己弄了一套出来,当时也觉得很有意思,不过很多地方也不明白,只记得里面超级多的类似于Makefile,Dockerfile,gitla-ci.yml, docker-composer.yml等等不认识的文件。最近对这些内容有了一点浅显的理解,发现这些东西真的还蛮管用的。更让我看到了编码只是一个系统部署过程中很基础的一部分,相对来讲,持续集成,让服务稳定的运行下去才是最关键的。

百尺竿头更进一步,就又用docker swarm对一个ipservice进行了模拟编排。ipservice .

回顾了下今天用到的docker的命令:

1
2
3
4
5
6
7
8
9
10
11
docker search xxx  # 搜索镜像
docker pull image # 拉镜像
docker run -d -p -v --name # 基于镜像跑出一个容器
docker ps -a # 查看当前运行的容器的信息
docker inspect # 查看某一个容器的详细信息
docker exec -it container-id /bin/bash # 以命令行交互的形式进入到一个正在运行的容器的内部
docker cp xxx xxx # 宿主机和容器的文件的拷贝操作,对于容器内没有VI,VIM等文字编辑软禁的情形,这个命令很好用;当然也可以选择宿主机的某一个目录使用-v命令映射到容器内部
docker rm `docker ps -a | grep Exited | awk "{print $1}"` # 清理已经退出的容器,免得占用宿主机的空间
docker build -t xxx . # 使用当前目录下的Dockerfile制作属于自己的镜像
docker tag imagename username/imagename:tagname # 使用已经制作好的镜像打标签
docker push username/imagename:tagname # 将制作好的镜像上传到docker.io仓库,上传之前需要先docker login进行登录操作(已有账号的前提)

在docker swarm的使用过程中,印象最深的还是那个yml文件的编写.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
version: "3"
services:
web:
# 使用你自己的username/repo:tag
image: marksinoberg/ipservice:v3
deploy:
replicas: 3
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
ports:
- "8080:8080"
networks:
- webnet
networks:
webnet:

基本上是个模板,对新应用而言,涂涂改改就能用了。相对应的命令层面就有好多了。

1
2
3
4
docker swarm init  # 创建一个swarm manager节点, 新节点可以根据此命令的输出信息来docker join 
docker stack deploy -c xxx.yml my-service-name # 基于yml文件编排自己的应用
docker stack ps my-service-name # 查看当前应用的运行信息
docker stack rm my-service-name # 移除当前应用

命令很多,需要时不时的回顾下,否则肯定很快就忘得一干二净了。

学习方法好像有点问题诶

这几天突然地就有这么个想法冒出来,我的学习方法还停留在初高中题海战术的阶段。学习一门新语言或者一门新技术,总是想着通过大量重复的代码练习来达到一个很熟识的程度,短期内看效果还行,倒是能掌握一些知识点,看似应用的还可以。但是时间稍微长点,发现对某些内容总是理解的还不够到位,需要花时间来返工,有一点的得不偿失。

趁着今天跑步,我反省了下。发现这的确是我的一个思维惯式,貌似真的存在很大的问题。表现在遇到一个问题,第一时间不是去定位问题,而是从边边角角下手,好像是通过附带了一点经验的“瞎猜”,猜对了那问题就好解决了,猜不对,就花时间再去尝试。

按我的理解,首要的切入点应该是去观察问题的具体表现,顺着问题反向查找分段式地去思考可能出现问题的地方。当然分段的前提是能确保某段是绝对绝对不出错的(关于这点我犯了很多思维定式的错,总以为某部分是正常运行的,而去另外一个原本正常工作的部分查找导致问题的原因,结果可想而知)。

上次火星前端机挂掉的时候,配置Nginx,总是和预期的想法不一致。我的切入点就远没有高老板那么精准,先怎样,再怎样,每一步都不是靠瞎猜而来的,都是实打实的去分析的结果。相比,我差的还很远。

今后,打算继续发现自己的学习方法的不足之处,慢慢地去弥补。互联网时代,不再是题海战术扛得住的了,一个人根本就做不完所有的“题”,要学着发现底层的真相。

读书

关于读书,我好像犯了一个很大的错误。这让我对读书有了一点新的认识。

读书,应该是为自己而读,并非为别人读。这也延伸到了有些时候总想着发朋友圈,当然这还涉及到另外一个话题了,待会再聊。

读书多少,快慢,都不应该和别人有所对比,应该和自己的内心作对比。“我今年看了100本书,你看了28本,你好low哦”这种想法万万要不得,读书应该是基于自己的兴趣而读,并非单纯为了完成“看完”这个目标而读。2019年春节,给自己定下了一个今年要读完77本书的目标,现在虽然已经看到了80+本,但回头看看,收获在哪里?囫囵吞枣地阅读真的对自己有好处吗?可以说,每晚看到凌晨两点是对自己的极大地不负责任。

拿现在市面上的书来说,技术书总充斥着很基础的部分,对底层深入的内容缄口不语,看这种书无异于浪费时间,有这点时间还不如去打会游戏。
人物传记类的书,一定要擦亮眼睛,大部分书都会对任务美化,有些时候事实并非我们看到的那样,去粗取精,得有选择性的阅读。
鸡汤类的就不说了,刚开始的时候我特喜欢读这类的书,后来发现味道不对,也就慢慢不再看了。

以后对自己的要求是:

  • 较新的技术类书籍只在Mac上看,最好是对着官方文档而不是PDF之类稍微outdated的。
  • 适度读书,不再贪多。

我怎么看待发朋友圈

很早就想写这个话题了,一直不敢下手,也不知道从哪讲,就从我自己来说吧,这样不至于得罪其他人。我发现我发朋友圈的初衷大概有这么几个:

    1. 我想给XXX看到
    1. “炫耀炫耀”某件事
    1. 。。。

第一点不难理解,哪个少男不痴情,哪个少女不怀春。有时候我想和某个女生互动,但没有一个合适的理由,而发条动态,就是个很好的“借口“。是不是很幼稚,哈哈。我也发现了。但这个行为很少能够成功,毕竟喜欢你的人时刻都在,不喜欢你的都会装作看不到。你永远也无法叫醒一个装睡的人嘛。

第二点好像是我这种做技术的人的通病。嘿,我实现了一个很酷的功能,我特么真叼,快来夸夸我呗。好像都是有这么一个心态。或许会有很多人随声附和,但是背后的价值好像并不是很大。首先别人夸你了怎样,不夸你又怎样,这全是别人的想法,与你并无甚关系。另外想靠着这些老寻找到志同道合能真正做东西的朋友,概率不会很高。我的朋友圈的人大部分都是我认识的,没有很多人有和我一样的经历,或者说爱好。而另外一些不是做技术的对这些恐怕丝毫不感兴趣,怎么可能加入过来?

然后最近看到很多人在发什么第XX天阅读,打卡,我的第一反应就是:额,好无聊。靠别人监督而来的动力,不是持久的动力。要想获得持久的动力去做某件事,我的认识还是需要兴趣,持之以恒的动力往往源自于此。今后也要有目的的去培养这个习惯。

format_list_numbered

(无)

  1. 1. 又到520咯
  2. 2. docker 怎么用
  3. 3. 学习方法好像有点问题诶
  4. 4. 读书
  5. 5. 我怎么看待发朋友圈
vertical_align_top

Copyright © 2017 泰戈尔✍️的地方

Powered by Hexo && Theme - Vateral