因为兴趣相悖,便想学习培训一点Docker技术性。因此,写了这篇学习培训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的三者关联

Docker architecture

提议参照git的基本原理

Creating a change set in Git

第五件——和学习培训Java一样多科学研究Reference

https://docs.docker.com/reference/

结果

Docker的入门难度系数低,以前浪费时间,错过良好的机会哦!去看书,如今有点儿后悔莫及。尽管我已经在开发设计中应用Docker的Postgres和Memcached做为DB的器皿, 可是真真正正要想轻松玩Docker,或是必须 了解运维管理服务项目的一些技术性。很多人都觉得Docker是微服务架构,实际上 不是他仅仅微服务架构的媒介。假如说Docker是过程,那麼微服务架构便是涵数。程序流程能够 由好几个涵数构成,Docker还可以装进好几个微服务架构。Docker的目地非常简单——合理的运用資源和资源分配。可是我觉得Docker存有对运行内存和CPU的依赖感,这会造成大家未来的计算机结构运行内存会更高,CPU核会大量。

评论(0条)

刀客源码 游客评论