- .dockerignore
与.gitignore类似,用以忽略不进行构建的资源文件/目录。
node_modules
构建、运行(Build –> Ship –> Run)
容器可以理解为镜像的一个实例。
可能用到的命令
从Dockerfile构建一个镜像
docker build -t name:version
查看新构建的镜像
docker images
以后台模式从镜像启动容器,并将映射端口:本地端口:容器内端口
docker run -p 8888:8888 -d name:version
查看正在运行的容器
docker ps
查看本地端口与容器端口的映射
docker port
查看容器中应用控制台打印出的日志
docker logs
查看docker默认ip
docker-machine ip default
测试Web应用是否可用(这里采用默认的docker-machine地址,怎样才能使用localhost访问,还没找到方法??)
curl http://$(docker-machine ip default):port
Copy容器内的文件到宿主本地
docker cp :/usr/src/app/log.txt ‘本地磁盘路径’
进入容器
docker exec -it /bin/bash
Note:
1. boot2docker中docker用户的初始密码为:tcuser
;root用户没有密码,在docker用户下使用sudo su - root
切换到root;
2. 要运行容器,不必每次都执行docker run,这样每次都会生成新的容器,可以通过docker start <container id>
启动之前被关闭的容器;
查看docker容器中Linux系统版本信息
cat /proc/version
删除当前目录下所有内容(比如清除某文件夹下的临时文件)
rm -rf *
退出容器,返回docker
exit
推送本地镜像至云端
- 可采用一些服务商提供的镜像服务进行云端存储,这里用了网易蜂巢的163(私有镜像库):
Upload image to private repository on hub.c.163.com
docker login -u username -p password hub.c.163.com
docker tag hub.c.163.com//tag
docker push hub.c.163.com//tag
遇到的问题/疑问
- 将Web app构建镜像,运行容器后,通过什么地址访问?
curl http://$(docker-machine ip default):port
- 如何从容器中Copy文件到宿主机器?
docker cp <container id>:/usr/src/app/log.txt '本地磁盘路径'
- 如何在Linux(Debian)上安装tesseract-ocr软件?
-
构建后安装:首先
docker exec -it <container id> /bin/bash
进入容器,然后执行apt-get update
,apt-get install tesseract-ocr
;这种方式仅会在当前的容器实例中安装,下次run镜像的时候,需重新安装; -
构建前安装:修改Dockerfile,将安装软件的命令写入其中,这样就将安装命令构建到镜像中,以后每次run镜像都会具有相应的软件环境;
上述几个问题都可以从可能用到的命令中找到解决方法。
If you have any questions or any bugs are found, please feel free to contact me.
文末
从转行到现在,差不多两年的时间,虽不能和大佬相比,但也是学了很多东西。我个人在学习的过程中,习惯简单做做笔记,方便自己复习的时候能够快速理解,现在将自己的笔记分享出来,和大家共同学习。
个人将这段时间所学的知识,分为三个阶段:
第一阶段:HTML&CSS&JavaScript基础
第二阶段:移动端开发技术
第三阶段:前端常用框架
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
-
推荐学习方式:针对某个知识点,可以先简单过一下我的笔记,如果理解,那是最好,可以帮助快速解决问题;
-
大厂的面试难在,针对一个基础知识点,比如JS的事件循环机制,不会上来就问概念,而是换个角度,从题目入手,看你是否真正掌握。所以对于概念的理解真的很重要。