摘要
第一步——插上网线,让Docker燃起激情。但是,官网的《样例应用》的docker build -t getting-started…让人有些懵逼。不过,我们要坚信,只要努力学习,一定能掌握Docker的精髓!
正文
因为兴趣相悖,便想学习培训一点Docker技术性。因此,写了这篇学习培训Docker的感受。笔拙,多多包涵。
第一件事——把网络线插上
坚信很多人都被官方网站的《Sample application》的 docker build -t getting-started .
给蒙骗了。
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.11/main: temporary error (try again later)
ERROR: unable to select packages:
g (no such package):
required by: world[g ]
make (no such package):
required by: world[make]
python3 (no such package):
required by: world[python3]
我查看GitHub的Issue也踏入了错误观念,加上了RUN echo -e "http://dl-cdn.alpinelinux.org/alpine/v3.11/main" > /etc/apk/repositories
或是有什么问题
我因此改动了dockerfile:
# syntax=docker/dockerfile:1
FROM node:12-alpine
RUN ping dl-cdn.alpinelinux.org
# RUN echo -e "http://dl-cdn.alpinelinux.org/alpine/v3.11/main" > /etc/apk/repositories
RUN apk add --no-cache python g make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
根据Ping掌握到网络线没插
因此我注解了ping
,立即运作
$sudo docker build –network=host -t getting-started .
等候build完毕,实行:
$sudo docker run –network=host -dp 3000:3000 getting-started
第二件——学好应用人字梯
依据安裝Arch和Gentoo的感受,因为世界各国网速差别很大,这儿我找了一些apline的镜像系统供诸位参照。
第三件——linux是一个非常好的教师
dockerfile的內容以bash实际操作为主导。许多Concept都和linux有关。docker的cli大部分和bash及其gcc类似,如ps,rm, build, run, stop 这些
- docker volume就很像简化版的LVM
- docker compose和cmake的实际操作类似
第四件——区别Docker Daemon、Images和Container的三者关联
提议参照git的基本原理
第五件——和学习培训Java一样多科学研究Reference
https://docs.docker.com/reference/
结果
Docker的入门难度系数低,以前浪费时间,错过良好的机会哦!去看书,如今有点儿后悔莫及。尽管我已经在开发设计中应用Docker的Postgres和Memcached做为DB的器皿, 可是真真正正要想轻松玩Docker,或是必须 了解运维管理服务项目的一些技术性。很多人都觉得Docker是微服务架构,实际上 不是他仅仅微服务架构的媒介。假如说Docker是过程,那麼微服务架构便是涵数。程序流程能够 由好几个涵数构成,Docker还可以装进好几个微服务架构。Docker的目地非常简单——合理的运用資源和资源分配。可是我觉得Docker存有对运行内存和CPU的依赖感,这会造成大家未来的计算机结构运行内存会更高,CPU核会大量。
关注不迷路
扫码下方二维码,关注宇凡盒子公众号,免费获取最新技术内幕!
评论0