安装脚本
Ubuntu / Centos
Debian的安装貌似有问题, 需要解决安装源的问题。
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh --mirror Aliyun / AzureChinaCloud
如果在海外的AWS或者GCP等云服务器厂商, --mirror 自然不需要加上去了。
Centos在运行完成之后, 还需要手动的 sudo systemctl start docker.service 否则会提示docker没有启动之类的错误
日志相关
Grep String
正确的姿势: docker logs nginx 2>&1 | grep "127."
比如查看Jupyter Notebook的token: docker logs notebook 2>&1 | grep "token"
其他支持的参数
-f : 类似tail -f 命令
--since : 从某个时间戳开始,比如 2013-01-02T13:23:37 也支持相对时间,比如: 42m
--until : 与上类似, 不过是反过来。
-t, --timestamp : 显示时间戳
--tail N(default all) : 显示最后几行数据
Mount的技巧
比如Grafana 等,在docker image之中自带一些文件。如果直接mount对应的目录并且host目录为空, 那么docker内部的
目录就会被覆盖。如何处理这种情况呢?
简单粗暴的方法1:(思路only)
先运行一次, 然后使用 docker cp 命令将其复制出来
然后删除刚才的docker container, 将文件复制到对应的目录,再mount
更优雅一些的方法2:
以启动 ClickHouse 为例
# Step 1.1: 创建一个docker volume (目的: 把CH Server的配置暴露出来) docker volume create --driver local --opt type=none --opt device=/home/centos/workspace/clickhouse/configs --opt o=bind ch-server-configs # Step 1.2 : 创建volume , mount 数据库数据 docker volume create --driver local --opt type=none --opt device=/home/centos/workspace/clickhouse/data --opt o=bind ch-server-data # Step 2 : 启动 (注意: 当存储数据较多的时候, 第二次启动,会花比较长的时间来初始化。 初始化结束之前尝试链接会失败。) sudo docker run -d --name mkt-ch-server -v ch-server-configs:/etc/clickhouse-server -v ch-server-data:/var/lib/clickhouse --restart always -p 9000:9000 -p 8123:8123 --ulimit nofile=262144:262144 yandex/clickhouse-server
这样docker镜像自带的配置文件就不会在第一次mount的时候被清空
定时任务
比如mysql需要定期导出数据备份。这个操作最好是利用宿主机的crond来完成
0 1 * * * docker exec mysqldump xxxx
常用Docker镜像及其安装命令
MySQL
安装
docker run --name some-mysql --restart always-v /my/own/datadir:/var/lib/mysql-e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
Dump 数据
方式1: 已经在本地有mysql docker container
下面的命令是针对docker内部的mysql,也可以直接指定参数dump remote mysql
docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /path-to-data/all-databases.sql
方式2 : 在本地还没有mysql docker container
# 用完就删除,并在命令行提示输入密码 docker run -i --rm mysql:5.7 mysqldump --all-databases-h 172.17.0.1 -uroot -p | gzip -9 > /home/centos/workspace/mysql-data/backup.sql.gz
编辑器原因, 上面 > 没有正确显示出来
Restore 数据
还是参考上面 Dump 的方式,只不过命令行工具改成了 mysql
Python Proxy
多多少少要搞一些爬虫吧。充分利用云服务器的IP用来做爬虫代理。目前发现最简单的爬虫代理搭建方法:
docker run --name py-proxy -d --restart always -p 8899:8899 abhinavsingh/proxy.py
注意:
- 截至目前位置, 这个docker镜像的python脚本还比较老,不支持basic auth. 如果需要basic auth, 需要自行更新python文件,并重新docker build才可以。Github地址: https://github.com/abhinavsingh/proxy.py
- 在实际生产之中, 用多了貌似有自动无法链接的情况。也可能是目标网站的问题。
- 这个东东也可以作为浏览器SwitchSharp的代理哦, 不过推荐加上https + basic auth. 具体操作请看官方文档。
Jupyter Notebook
用了一圈, 感觉还是 tensorflow 镜像自带的Notebook比较简单。 因为在mount host 目录的时候, 没有奇奇怪怪的权限问题。bash script 如下:
sudo docker run --name notebook -d --restart always -p 127.0.0.1:8888:8888 -v /path-to-workspace/notebooks:/tf tensorflow/tensorflow:latest-py3-jupyter
如果还需要链接Apache Spark等,参考如下Script
sudo docker run --name pyspark-notebook -d --net host --pid host -e TINI_SUBREAPER=true -p 8888:8888 -v /path-to-workspace/notebooks:/tf tensorflow/tensorflow:latest-py3-jupyter
Grafana
ID=$(id -u) docker run -d --restart always -p 3000:3000 --name=grafana \ --user $ID -v /path-to-data/grafana-data:/var/lib/grafana -e "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource" -e "GF_SECURITY_ADMIN_PASSWORD=aaabbbccc" grafana/grafana
一些简单的解释:
- –user $ID 必须要设置, 否则docker内部会出现permission issue
- GF_INSTALL_PLUGINS : 安装一些非自带的插件
- GF_SECURITY_ADMIN_PASSWORD : 账号: admin / aaabbbccc
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。