wsl
wsl -d Ubuntu-22.04exit
Linux的ext4和 Windows的NTFS
- 这两个文件系统的底层结构完全不同。
- 权限管理上,
- ext4 是经典的UNIX权限模型,所有者,用户组,其他分别对应读,写,执行的权限。
- NTFS 是基于**访问控制列表(ACL)**的权限模型,可以为任意数量的用户和组设置精细具体的权限。
- ext4 大小写敏感,NTFS 不大小写敏感但保留大小写。
- NTFS 内置文件压缩、加密等高级功能,而ext4 高效稳定适合处理大量小文件
docker
-
学习 Docker 的最好方法就是
learn in action -
git clone [url] -
docker build -t name / docker compose up -d -
docker start container-namedocker stop/restart/rm container-namedocker ps -a查看所有容器docker compose stop/down结束/删除容器
-
localhost:8089:3000- 8089是主机端口 3000是容器端口
- 外部请求发往主机端口,docker将请求转发到容器的端口
-
使用
docker compose watch这个命令可以启动“监视模式”,在修改代码后,让正在运行的服务自动更新,以便能实时预览到更改的效果 。 -
将配置存在Compose文件,可以轻松删除所有内容并重新启动。
-
再次想启动时只要使用
docker compose up命令,就可以重新启动。 -
但是要注意之前的数据都会丢失,因为数据存储在容器内部,删除容器也就删除了其中的数据。
-
Persist data
-
那么有什么方法可以保持数据吗
-
docker可以使用数据卷(volume)来保存数据,数据卷是本地文件系统的一个位置,由docker负责管理。
volumes: volume-name: to-do-database: volumes: - volume-name:/data/db #容器中的挂载路径 这里不在乎数据卷在本地的路径 -
创建并命名数据卷,然后挂载到容器内目录
docker volume ls列出所有数据卷docker volume inspect volume-name查看详细信息docker volume rm volume-name删除数据卷docker volume prune删除所有未使用过的数据卷
Access your local folder from a container
-
那么能不能通过容器访问本地文件系统中的数据呢
-
添加绑定挂载(bind mount),将本地一个文件夹与docker共享
do-app: # ... volumes: - ./app:/usr/src/app #容器中路径 - /usr/src/app/node_modules #防止绑定挂载覆盖容器的该目录 -
docker compose up -d后台模式启动,不占用终端,不会实时显示日志,区别于主要用于开发和调试的前台模式。
Containerize the application
-
使用容器时需要使用一个 Dockerfile 文件来定义镜像,一个compose.yaml文件来定义如何运行镜像。
-
在项目文件夹中运行
docker init的命令,Docker 会创建所有的必需文件。