现在开发什么项目,大家都在用Docker,很多新手朋友觉得Docker很难,其实入门没那么复杂。整理一下新手一开始需要知道的核心概念和常用命令,看完就能用起来了。
Docker到底是什么?
简单说,Docker就是把你的应用和它依赖的环境,一起打包成一个”盒子”,这个盒子能在任何机器上直接运行,不用再重新装依赖配环境了。解决了”我这儿能跑,你那儿不能跑”的问题。
这个”盒子”就叫 镜像,跑起来之后就叫 容器。一个镜像可以跑多个容器。
新手必须记住的几个命令
1. 拉镜像
docker pull nginx
从Docker Hub把别人做好的镜像拉到你本地,不用自己做。
2. 跑容器
docker run -d -p 8080:80 --name mynginx nginx
-d后台跑-p 8080:80把你机器的8080端口映射到容器里的80端口--name给容器起个名字- 最后是镜像名
3. 看正在跑的容器
docker ps
4. 进容器里面
docker exec -it 容器id /bin/bash
进去之后就能像正常机器一样操作了。
5. 看日志
docker logs 容器id # 实时看日志加 -f docker logs -f 容器id
6. 停容器/删容器
docker stop 容器id docker rm 容器id
Dockerfile是什么?
Dockerfile 就是你自己写一个文件,告诉Docker怎么一步步做你的镜像。比如:
FROM python:3.10-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . CMD ["python", "app.py"]
然后运行:
docker build -t myapp . docker run -d -p 5000:5000 myapp
你的应用就打包好了,在哪都能跑。
Docker Compose 又是什么?
如果你一个项目需要好几个容器(比如web+数据库+缓存),一个个跑太麻烦,用Docker Compose一个配置文件就能把所有容器都起好,很方便。
配置文件一般叫 docker-compose.yml,然后:
# 启动所有服务 docker-compose up -d # 看日志 docker-compose logs -f # 停掉所有服务 docker-compose down
新手常见坑
- 端口映射不对:记得容器里的端口要映射出来,不然访问不到
- 数据没挂载:数据库数据要挂载到本地,容器删了数据不会丢
- 不用追求太复杂:先学会跑别人的镜像,再学着自己做,循序渐进
总结
Docker真的没有你想象的那么难,记住几个核心概念和常用命令,就能满足日常开发大部分需求了。用几次就熟了,现在不管开发还是部署,有了Docker真的省心很多。
你刚开始学Docker的时候踩过什么坑?欢迎留言交流。
新手入门向总结,老司机轻拍。