Docker ਕੀ ਹੈ? ਗੈਰ-ਡਿਵੈਲਪਰਾਂ ਲਈ ਕੰਟੇਨਰ ਸਰਲ ਭਾਸ਼ਾ ਵਿੱਚ
Docker ਇੱਕ ਟੂਲ ਹੈ ਜੋ ਕਿਸੇ ਐਪ ਨੂੰ ਉਸਦੇ ਚੱਲਣ ਲਈ ਲੋੜੀਂਦੀ ਹਰ ਚੀਜ਼ ਨਾਲ ਪੈਕ ਕਰਦਾ ਹੈ: ਸਹੀ ਭਾਸ਼ਾ ਵਰਜਨ, ਲਾਇਬ੍ਰੇਰੀਆਂ, ਸਿਸਟਮ ਟੂਲ ਅਤੇ ਸੈਟਿੰਗਾਂ। ਇਹ ਸਾਰਾ ਕੁਝ ਇੱਕ ਮਿਆਰੀ ਇਕਾਈ ਵਿੱਚ ਜਾਂਦਾ ਹੈ ਜਿਸਨੂੰ ਕੰਟੇਨਰ ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਕੰਟੇਨਰ ਡਿਵੈਲਪਰ ਦੇ ਲੈਪਟਾਪ, ਟੈਸਟ ਸਰਵਰ ਅਤੇ ਕਲਾਉਡ ਹੋਸਟ 'ਤੇ ਇੱਕੋ ਤਰ੍ਹਾਂ ਚੱਲਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਪੁਰਾਣੀ "ਇਹ ਮੇਰੀ ਮਸ਼ੀਨ 'ਤੇ ਤਾਂ ਚੱਲਦਾ ਸੀ" ਵਾਲੀ ਸਮੱਸਿਆ ਖ਼ਤਮ ਹੁੰਦੀ ਹੈ। ਕੰਟੇਨਰ ਬਣਾਉਣ ਦੀ ਵਿਧੀ ਇੱਕ ਛੋਟੀ ਟੈਕਸਟ ਫ਼ਾਈਲ ਵਿੱਚ ਹੁੰਦੀ ਹੈ ਜਿਸਨੂੰ Dockerfile ਕਹਿੰਦੇ ਹਨ।
AI ਨਾਲ ਐਪ ਬਣਾਉਂਦੇ ਸਮੇਂ Docker ਕਿਉਂ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ
ਜੇ ਤੁਹਾਡੀ ਐਪ ਦਾ ਬੈਕਐਂਡ ਹੈ, ਜਿਵੇਂ Python, Node, C# ਜਾਂ Java ਵਿੱਚ ਇੱਕ API, ਤਾਂ ਉਸਨੂੰ ਬਿਲਕੁਲ ਸਹੀ ਸਾਫ਼ਟਵੇਅਰ ਵਾਲੀ ਕਿਸੇ ਥਾਂ 'ਤੇ ਚੱਲਣਾ ਪੈਂਦਾ ਹੈ। ਇਸਨੂੰ ਦੁਹਰਾਉਣਯੋਗ ਬਣਾਉਣ ਦਾ ਸਭ ਤੋਂ ਆਮ ਤਰੀਕਾ Docker ਹੈ।
- ਬੈਕਐਂਡ ਡਿਪਲੌਇ ਕਰਨਾ। ਕਈ ਹੋਸਟ, Mythex ਸਮੇਤ, Dockerfile ਤੋਂ ਕੰਟੇਨਰ ਬਣਾ ਕੇ ਬੈਕਐਂਡ ਡਿਪਲੌਇ ਕਰਦੇ ਹਨ। Mythex ਵਿੱਚ "C# Web API" ਜਾਂ "Java ਬੈਕਐਂਡ" ਮੰਗਣ 'ਤੇ ਤੁਹਾਨੂੰ ਐਪ ਦੇ ਨਾਲ Dockerfile ਮਿਲਦੀ ਹੈ, ਅਤੇ Publish ਇਮੇਜ ਬਣਾ ਕੇ ਡਿਪਲੌਇ ਕਰਦਾ ਹੈ (API backends)।
- ਪਲੇਟਫਾਰਮ ਛੱਡਣਾ। ਜੇ ਤੁਸੀਂ AI ਨਾਲ ਬਣੀ ਐਪ ਐਕਸਪੋਰਟ ਕਰਦੇ ਹੋ, ਤਾਂ Dockerfile ਉਸਨੂੰ ਕਿਸੇ ਹੋਰ ਹੋਸਟ 'ਤੇ ਚਲਾਉਣਾ ਕਾਫ਼ੀ ਸੌਖਾ ਬਣਾਉਂਦੀ ਹੈ। ਵੇਖੋ AI ਨਾਲ ਬਣੀ ਐਪ ਨੂੰ ਐਕਸਪੋਰਟ ਅਤੇ ਸੈਲਫ਼-ਹੋਸਟ ਕਿਵੇਂ ਕਰੀਏ।
- ਡਿਵੈਲਪਰਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ। ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਆਉਣ ਵਾਲਾ ਡਿਵੈਲਪਰ ਇੱਕ ਜਾਂ ਦੋ ਕਮਾਂਡਾਂ ਨਾਲ ਪੂਰੀ ਐਪ ਚਾਲੂ ਕਰ ਸਕਦਾ ਹੈ, ਦਿਨ ਭਰ ਚੀਜ਼ਾਂ ਇੰਸਟਾਲ ਕਰਨ ਦੀ ਥਾਂ।
ਰੋਜ਼ਾਨਾ ਜੀਵਨ ਦੀ ਮਿਸਾਲ: ਸਮੁੰਦਰੀ ਕੰਟੇਨਰ
ਮਿਆਰੀ ਸਮੁੰਦਰੀ ਕੰਟੇਨਰਾਂ ਤੋਂ ਪਹਿਲਾਂ ਮਾਲ ਟੁਕੜਿਆਂ ਵਿੱਚ ਲੱਦਿਆ ਜਾਂਦਾ ਸੀ: ਬੋਰੀਆਂ, ਬੈਰਲ, ਡੱਬੇ। ਹਰ ਬੰਦਰਗਾਹ ਇਸਨੂੰ ਵੱਖਰੇ ਢੰਗ ਨਾਲ ਸੰਭਾਲਦੀ ਸੀ। ਮਿਆਰੀ ਸਟੀਲ ਕੰਟੇਨਰ ਨੇ ਇਹ ਬਦਲ ਦਿੱਤਾ: ਇੱਕ ਵਾਰ ਪੈਕ ਕਰੋ, ਅਤੇ ਕੋਈ ਵੀ ਜਹਾਜ਼, ਕਰੇਨ, ਰੇਲ ਜਾਂ ਟਰੱਕ ਅੰਦਰ ਕੀ ਹੈ ਇਸਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ ਉਸਨੂੰ ਢੋ ਸਕਦਾ ਹੈ।
Docker ਸਾਫ਼ਟਵੇਅਰ ਲਈ ਇਹੀ ਕਰਦਾ ਹੈ:
- Dockerfile ਪੈਕਿੰਗ ਸੂਚੀ ਅਤੇ ਹਿਦਾਇਤਾਂ ਹੈ।
- ਇਮੇਜ ਸੀਲ ਕੀਤਾ, ਪੈਕ ਕੀਤਾ ਕੰਟੇਨਰ ਹੈ।
- ਚੱਲਦਾ ਕੰਟੇਨਰ ਉਹ ਡੱਬਾ ਹੈ ਜੋ ਜਹਾਜ਼ 'ਤੇ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ, ਇੱਥੇ ਇੱਕ ਸਰਵਰ।
- Docker Engine ਕਰੇਨ ਅਤੇ ਜਹਾਜ਼ ਹੈ: ਸਰਵਰ 'ਤੇ ਉਹ ਸਾਫ਼ਟਵੇਅਰ ਜੋ ਕਿਸੇ ਵੀ ਕੰਟੇਨਰ ਨੂੰ ਚਲਾਉਣਾ ਜਾਣਦਾ ਹੈ।
Docker ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ
| ਹਿੱਸਾ | ਇਹ ਕੀ ਹੈ |
|---|---|
| Dockerfile | ਇੱਕ ਟੈਕਸਟ ਫ਼ਾਈਲ ਜਿਸ ਵਿੱਚ ਇਮੇਜ ਬਣਾਉਣ ਲਈ ਕਦਮ-ਦਰ-ਕਦਮ ਹਿਦਾਇਤਾਂ ਹਨ। |
| ਇਮੇਜ | ਸਿਰਫ਼-ਪੜ੍ਹਨ ਯੋਗ ਪੈਕੇਜ: ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਦੀਆਂ ਮੂਲ ਗੱਲਾਂ, ਰਨਟਾਈਮ, ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਤੁਹਾਡਾ ਕੋਡ। |
| ਕੰਟੇਨਰ | ਇੱਕ ਇਮੇਜ ਦਾ ਚੱਲਦਾ ਰੂਪ, ਮਸ਼ੀਨ ਦੀਆਂ ਹੋਰ ਐਪਾਂ ਤੋਂ ਵੱਖਰਾ। |
| ਰਜਿਸਟਰੀ | ਇਮੇਜਾਂ ਸਟੋਰ ਅਤੇ ਸਾਂਝੀਆਂ ਕਰਨ ਦੀ ਥਾਂ, ਜਿਵੇਂ Docker Hub ਜਾਂ ਕਲਾਉਡ ਪ੍ਰਦਾਤਾ ਦੀ ਰਜਿਸਟਰੀ। |
| Docker Engine | ਪਿਛੋਕੜ ਦੀ ਸੇਵਾ ਜੋ ਇਮੇਜ ਬਣਾਉਂਦੀ ਹੈ ਅਤੇ ਕੰਟੇਨਰ ਚਲਾਉਂਦੀ ਹੈ। ਮੁਫ਼ਤ ਅਤੇ ਓਪਨ ਸੋਰਸ। |
| Docker Desktop | Mac, Windows ਅਤੇ Linux ਲਈ ਇੱਕ ਐਪ ਜੋ ਇੰਜਣ ਨੂੰ ਗਰਾਫ਼ਿਕਲ ਇੰਟਰਫੇਸ ਨਾਲ ਜੋੜਦੀ ਹੈ। |
ਕੰਟੇਨਰ ਬਨਾਮ ਵਰਚੁਅਲ ਮਸ਼ੀਨ: ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਵਾ ਕਰਦੀ ਹੈ ਜਿਵੇਂ ਉਹ ਆਪਣਾ ਵੱਖਰਾ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਵਾਲਾ ਪੂਰਾ ਕੰਪਿਊਟਰ ਹੋਵੇ, ਇਸ ਲਈ ਉਹ ਭਾਰੀ ਅਤੇ ਸ਼ੁਰੂ ਹੋਣ ਵਿੱਚ ਹੌਲੀ ਹੁੰਦੀ ਹੈ। ਕੰਟੇਨਰ ਮੇਜ਼ਬਾਨ ਦਾ ਕਰਨਲ ਸਾਂਝਾ ਕਰਦਾ ਹੈ ਅਤੇ ਸਿਰਫ਼ ਐਪ ਅਤੇ ਉਸਦੀਆਂ ਫ਼ਾਈਲਾਂ ਨੂੰ ਵੱਖ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਉਹ ਆਮ ਤੌਰ 'ਤੇ ਸਕਿੰਟਾਂ ਵਿੱਚ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਅਤੇ ਬਹੁਤ ਘੱਟ ਮੈਮਰੀ ਵਰਤਦਾ ਹੈ। ਇੱਕ ਸਰਵਰ 'ਤੇ ਕਈ ਕੰਟੇਨਰ ਨਾਲ-ਨਾਲ ਚੱਲ ਸਕਦੇ ਹਨ।
ਇੱਕ ਕੰਮ ਕੀਤੀ ਮਿਸਾਲ: ਇੱਕ ਛੋਟਾ Python API
ਮੰਨ ਲਓ ਤੁਹਾਡੇ AI ਬਿਲਡਰ ਨੇ ਇੱਕ ਬੁਕਿੰਗ ਐਪ ਲਈ Python FastAPI ਬੈਕਐਂਡ ਬਣਾਇਆ ਹੈ। Dockerfile ਇਸ ਤਰ੍ਹਾਂ ਦਾ ਹੋ ਸਕਦਾ ਹੈ:
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
ਲਾਈਨ-ਦਰ-ਲਾਈਨ:
| ਲਾਈਨ | ਇਹ ਕੀ ਕਰਦੀ ਹੈ |
|---|---|
FROM python:3.12-slim | ਅਧਿਕਾਰਤ ਇਮੇਜ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ ਜਿਸ ਵਿੱਚ Python 3.12 ਪਹਿਲਾਂ ਤੋਂ ਇੰਸਟਾਲ ਹੈ। |
WORKDIR /app | ਕੰਟੇਨਰ ਵਿੱਚ /app ਫੋਲਡਰ ਦੇ ਅੰਦਰ ਕੰਮ ਕਰੋ। |
COPY requirements.txt . ਅਤੇ RUN pip install ... | ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਸੂਚੀ ਕਾਪੀ ਕਰੋ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਇੰਸਟਾਲ ਕਰੋ। |
COPY . . | ਐਪ ਦਾ ਆਪਣਾ ਕੋਡ ਅੰਦਰ ਕਾਪੀ ਕਰੋ। |
EXPOSE 8000 | ਨੋਟ ਕਰੋ ਕਿ ਐਪ ਪੋਰਟ 8000 'ਤੇ ਸੁਣਦੀ ਹੈ। |
CMD [...] | ਉਹ ਕਮਾਂਡ ਜੋ ਕੰਟੇਨਰ ਚੱਲਣ 'ਤੇ ਵੈੱਬ ਸਰਵਰ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ। |
ਸਾਦੇ ਸ਼ਬਦਾਂ ਵਿੱਚ: "Python 3.12 ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ। requirements.txt ਵਿੱਚ ਦਿੱਤੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਇੰਸਟਾਲ ਕਰੋ। ਕੋਡ ਅੰਦਰ ਕਾਪੀ ਕਰੋ। ਪੋਰਟ 8000 'ਤੇ ਵੈੱਬ ਸਰਵਰ ਚਾਲੂ ਕਰੋ।"
ਇੱਕ ਡਿਵੈਲਪਰ (ਜਾਂ ਹੋਸਟਿੰਗ ਪਲੇਟਫਾਰਮ) ਫਿਰ ਦੋ ਕਮਾਂਡਾਂ ਚਲਾਉਂਦਾ ਹੈ:
docker build -t booking-api .
docker run -p 8000:8000 booking-api
ਪਹਿਲੀ ਕਮਾਂਡ ਇਮੇਜ ਬਣਾਉਂਦੀ ਹੈ ਅਤੇ ਉਸਦਾ ਨਾਮ booking-api ਰੱਖਦੀ ਹੈ। ਦੂਜੀ ਕੰਟੇਨਰ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ ਅਤੇ ਮਸ਼ੀਨ ਦੇ ਪੋਰਟ 8000 ਨੂੰ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰਲੇ ਪੋਰਟ 8000 ਨਾਲ ਜੋੜਦੀ ਹੈ। API ਹੁਣ ਚੱਲ ਰਹੀ ਹੈ, ਉਸੇ ਤਰ੍ਹਾਂ ਜਿਵੇਂ ਕਿਸੇ ਵੀ ਸਰਵਰ 'ਤੇ ਜਿੱਥੇ Docker ਹੋਵੇ।
ਧਿਆਨ ਦਿਓ ਕਿ ਇਮੇਜ ਵਿੱਚ ਕੀ ਨਹੀਂ ਹੈ: ਪਾਸਵਰਡ ਅਤੇ API ਕੁੰਜੀਆਂ। ਇਹ ਕੰਟੇਨਰ ਸ਼ੁਰੂ ਹੋਣ ਵੇਲੇ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਵਜੋਂ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਜੋ ਇੱਕੋ ਇਮੇਜ ਟੈਸਟਿੰਗ ਅਤੇ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਸੈਟਿੰਗਾਂ ਨਾਲ ਚੱਲ ਸਕੇ।
ਮੁੱਖ ਸ਼ਬਦ
| ਸ਼ਬਦ | ਅਰਥ |
|---|---|
| ਕੰਟੇਨਰ | ਇੱਕ ਐਪ ਅਤੇ ਉਸਦੀਆਂ ਡਿਪੈਂਡੈਂਸੀਆਂ ਦਾ ਵੱਖਰਾ, ਚੱਲਦਾ ਪੈਕੇਜ। |
| ਇਮੇਜ | ਉਹ ਟੈਮਪਲੇਟ ਜਿਸ ਤੋਂ ਕੰਟੇਨਰ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ। |
| ਬੇਸ ਇਮੇਜ | Dockerfile ਦੀ FROM ਲਾਈਨ ਵਿੱਚ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ, ਜਿਵੇਂ python:3.12-slim ਜਾਂ node:22। |
| ਲੇਅਰ | Dockerfile ਦਾ ਹਰ ਕਦਮ ਇੱਕ ਕੈਸ਼ ਕੀਤੀ ਲੇਅਰ ਜੋੜਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਦੁਬਾਰਾ ਬਣਾਉਣਾ ਤੇਜ਼ ਹੁੰਦਾ ਹੈ। |
| ਪੋਰਟ ਮੈਪਿੰਗ | ਮੇਜ਼ਬਾਨ 'ਤੇ ਪੋਰਟ ਨੂੰ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰਲੇ ਪੋਰਟ ਨਾਲ ਜੋੜਨਾ। |
| ਵਾਲੀਅਮ | ਸਟੋਰੇਜ ਜੋ ਕੰਟੇਨਰ ਬਦਲਣ 'ਤੇ ਵੀ ਬਚਦੀ ਹੈ। ਕੰਟੇਨਰ ਆਪ ਬਦਲਣਯੋਗ ਹਨ। |
| Docker Compose | ਕਈ ਕੰਟੇਨਰਾਂ ਦੀ ਵਿਆਖਿਆ ਵਾਲੀ ਫ਼ਾਈਲ ਜੋ ਇਕੱਠੇ ਚੱਲਦੇ ਹਨ, ਜਿਵੇਂ ਇੱਕ API ਅਤੇ ਇੱਕ ਡੇਟਾਬੇਸ। |
| Kubernetes | ਬਹੁਤ ਸਾਰੇ ਸਰਵਰਾਂ 'ਤੇ ਬਹੁਤ ਸਾਰੇ ਕੰਟੇਨਰ ਚਲਾਉਣ ਦੀ ਪ੍ਰਣਾਲੀ। ਜ਼ਿਆਦਾਤਰ ਛੋਟੀਆਂ ਐਪਾਂ ਨੂੰ ਇਸਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ। |
ਆਮ ਗ਼ਲਤਫ਼ਹਿਮੀਆਂ
- "Docker ਇੱਕ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਹੈ।" ਇਹ ਹਲਕਾ ਹੈ: ਕੰਟੇਨਰ ਮੇਜ਼ਬਾਨ ਦਾ ਕਰਨਲ ਸਾਂਝਾ ਕਰਦੇ ਹਨ।
- "ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਸੰਭਾਲਿਆ ਡੇਟਾ ਸੁਰੱਖਿਅਤ ਹੈ।" ਕੰਟੇਨਰ ਸੁੱਟ ਕੇ ਬਦਲਣ ਲਈ ਬਣੇ ਹਨ। ਜੋ ਚੀਜ਼ ਬਚਣੀ ਚਾਹੀਦੀ ਹੈ, ਜਿਵੇਂ ਉਪਭੋਗਤਾ ਡੇਟਾ ਅਤੇ ਅੱਪਲੋਡ, ਉਹ ਡੇਟਾਬੇਸ, ਫ਼ਾਈਲ ਸਟੋਰੇਜ ਜਾਂ ਵਾਲੀਅਮ ਵਿੱਚ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ।
- "Dockerfile ਵਿੱਚ ਗੁਪਤ ਕੁੰਜੀਆਂ ਰੱਖਣਾ ਠੀਕ ਹੈ ਕਿਉਂਕਿ ਉਹ ਨਿੱਜੀ ਹਨ।" ਇਮੇਜਾਂ ਸਾਂਝੀਆਂ ਅਤੇ ਰਜਿਸਟਰੀਆਂ ਵਿੱਚ ਪੁਸ਼ ਹੁੰਦੀਆਂ ਹਨ। ਗੁਪਤ ਜਾਣਕਾਰੀ ਚੱਲਣ ਵੇਲੇ ਦਿਓ।
- "Docker ਐਪ ਨੂੰ ਸੁਰੱਖਿਅਤ ਬਣਾਉਂਦਾ ਹੈ।" ਵੱਖ ਕਰਨਾ ਮਦਦ ਕਰਦਾ ਹੈ, ਪਰ ਪੁਰਾਣਾ ਸਾਫ਼ਟਵੇਅਰ ਅਤੇ ਕਮਜ਼ੋਰ ਸੈਟਿੰਗਾਂ ਵਾਲਾ ਕੰਟੇਨਰ ਫਿਰ ਵੀ ਕਮਜ਼ੋਰ ਹੈ।
- "ਹਰ ਐਪ ਨੂੰ Docker ਚਾਹੀਦਾ ਹੈ।" ਇੱਕ ਸਥਿਰ ਸਾਈਟ ਜਾਂ ਸਾਦਾ ਫਰੰਟਐਂਡ ਆਮ ਤੌਰ 'ਤੇ ਸਿਰਫ਼ ਫ਼ਾਈਲਾਂ ਵਜੋਂ ਹੋਸਟ ਹੁੰਦਾ ਹੈ, ਬਿਨਾਂ ਕਿਸੇ ਕੰਟੇਨਰ ਦੇ।
- "Docker Desktop ਹਰ ਕਿਸੇ ਲਈ ਮੁਫ਼ਤ ਹੈ।" ਇੰਜਣ ਮੁਫ਼ਤ ਹੈ; Docker ਦੀਆਂ ਸ਼ਰਤਾਂ ਅਨੁਸਾਰ ਵੱਡੀਆਂ ਕੰਪਨੀਆਂ ਲਈ Docker Desktop ਨੂੰ ਅਦਾਇਗੀ ਗਾਹਕੀ ਚਾਹੀਦੀ ਹੈ।
ਆਪਣੇ AI ਬਿਲਡਰ ਤੋਂ ਕੀ ਪੁੱਛੋ
- "ਕੀ ਇਸ ਐਪ ਨੂੰ Dockerfile ਦੀ ਲੋੜ ਹੈ? ਜੇ ਹੈ, ਤਾਂ ਹਰ ਲਾਈਨ ਸਰਲ ਪੰਜਾਬੀ ਵਿੱਚ ਸਮਝਾਓ।"
- "ਛੋਟੀ, ਅਧਿਕਾਰਤ ਬੇਸ ਇਮੇਜ ਵਰਤੋ ਅਤੇ ਭਾਸ਼ਾ ਵਰਜਨ ਪੱਕਾ ਕਰੋ।"
- "ਗੁਪਤ ਜਾਣਕਾਰੀ ਇਮੇਜ ਤੋਂ ਬਾਹਰ ਰੱਖੋ। ਚੱਲਣ ਵੇਲੇ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਾਂ ਤੋਂ ਪੜ੍ਹੋ।"
- "ਅੱਪਲੋਡ ਅਤੇ ਡੇਟਾ ਡੇਟਾਬੇਸ ਜਾਂ ਫ਼ਾਈਲ ਸਟੋਰੇਜ ਵਿੱਚ ਰੱਖੋ, ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਨਹੀਂ।"
- "ਇੱਕ Docker Compose ਫ਼ਾਈਲ ਜੋੜੋ ਤਾਂ ਜੋ ਡਿਵੈਲਪਰ ਫਰੰਟਐਂਡ, API ਅਤੇ ਡੇਟਾਬੇਸ ਨੂੰ ਇੱਕ ਕਮਾਂਡ ਨਾਲ ਲੋਕਲ ਚਲਾ ਸਕੇ।"
- "ਇੱਕ ਹੈਲਥ-ਚੈੱਕ ਐਂਡਪੌਇੰਟ ਜੋੜੋ ਤਾਂ ਜੋ ਹੋਸਟ ਦੱਸ ਸਕੇ ਕਿ API ਚੱਲ ਰਹੀ ਹੈ ਜਾਂ ਨਹੀਂ।"
Mythex ਵਿੱਚ Docker
ਤੁਹਾਨੂੰ Mythex ਵਰਤਣ ਲਈ Docker ਇੰਸਟਾਲ ਜਾਂ ਚਲਾਉਣ ਦੀ ਲੋੜ ਨਹੀਂ। ਤੁਹਾਡਾ ਪ੍ਰੋਜੈਕਟ ਇੱਕ ਨਿੱਜੀ ਕਲਾਉਡ ਸੈਂਡਬਾਕਸ ਵਿੱਚ ਚੱਲਦਾ ਹੈ, ਅਤੇ ਜਦੋਂ ਤੁਸੀਂ ਕੋਈ ਬੈਕਐਂਡ ਮੰਗਦੇ ਹੋ ਜਿਸਨੂੰ ਕੰਟੇਨਰ ਚਾਹੀਦਾ ਹੈ, ਜਿਵੇਂ C#, Java ਜਾਂ ਕਸਟਮ Node ਜਾਂ Python ਸਰਵਿਸ, ਤਾਂ Mythex ਐਪ ਦੇ ਨਾਲ Dockerfile ਲਿਖਦਾ ਹੈ, ਸੈਂਡਬਾਕਸ ਵਿੱਚ ਪ੍ਰੀਵਿਊ ਕਰਦਾ ਹੈ, ਅਤੇ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਨ 'ਤੇ ਡਿਪਲੌਇ ਕਰਦਾ ਹੈ, ਬਿਨਾਂ ਕੋਈ ਹੋਸਟਿੰਗ ਸੈੱਟ ਕੀਤੇ (ਟੈਕਨਾਲੋਜੀ ਕਿਵੇਂ ਚੁਣੀ ਜਾਂਦੀ ਹੈ)। Pro 'ਤੇ ਤੁਸੀਂ ਪ੍ਰੋਜੈਕਟ ਐਕਸਪੋਰਟ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ GitHub ਨਾਲ ਸਿੰਕ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ Dockerfile ਆਪਣੇ ਨਾਲ ਲੈ ਜਾ ਸਕਦੇ ਹੋ। ਫਰੰਟਐਂਡ ਅਤੇ ਬੈਕਐਂਡ ਕਿਵੇਂ ਇਕੱਠੇ ਫਿੱਟ ਹੁੰਦੇ ਹਨ, ਇਹ ਜਾਣਨ ਲਈ ਫਰੰਟਐਂਡ ਬਨਾਮ ਬੈਕਐਂਡ ਵੇਖੋ।
ਸਵਾਲ
ਸਰਲ ਸ਼ਬਦਾਂ ਵਿੱਚ Docker ਕੀ ਹੈ?
Docker ਇੱਕ ਟੂਲ ਹੈ ਜੋ ਕਿਸੇ ਐਪ ਨੂੰ ਉਸਦੇ ਚੱਲਣ ਲਈ ਲੋੜੀਂਦੀ ਹਰ ਚੀਜ਼ ਨਾਲ ਪੈਕ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਭਾਸ਼ਾ ਦਾ ਰਨਟਾਈਮ, ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਸੈਟਿੰਗਾਂ, ਇੱਕ ਮਿਆਰੀ ਇਕਾਈ ਵਿੱਚ ਜਿਸਨੂੰ ਕੰਟੇਨਰ ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਕੰਟੇਨਰ ਲੈਪਟਾਪ, ਟੈਸਟ ਸਰਵਰ ਜਾਂ ਕਲਾਉਡ ਹੋਸਟ ਉੱਤੇ ਇੱਕੋ ਤਰ੍ਹਾਂ ਚੱਲਦਾ ਹੈ।
Docker ਇਮੇਜ ਅਤੇ ਕੰਟੇਨਰ ਵਿੱਚ ਕੀ ਫ਼ਰਕ ਹੈ?
ਇਮੇਜ ਪੈਕ ਕੀਤਾ, ਸਿਰਫ਼-ਪੜ੍ਹਨ ਯੋਗ ਟੈਮਪਲੇਟ ਹੈ: ਐਪ ਅਤੇ ਉਸ ਦੀਆਂ ਡਿਪੈਂਡੈਂਸੀਆਂ, ਜੋ Dockerfile ਤੋਂ ਬਣਦੀ ਹੈ। ਕੰਟੇਨਰ ਉਸ ਇਮੇਜ ਦੀ ਚੱਲਦੀ ਕਾਪੀ ਹੈ। ਇੱਕ ਇਮੇਜ ਤੋਂ ਕਈ ਕੰਟੇਨਰ ਸ਼ੁਰੂ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।
ਕੀ Docker ਇੱਕ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਹੈ?
ਨਹੀਂ। ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਆਪਣੇ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਨਾਲ ਪੂਰੇ ਕੰਪਿਊਟਰ ਦੀ ਨਕਲ ਕਰਦੀ ਹੈ। ਕੰਟੇਨਰ ਮੇਜ਼ਬਾਨ ਮਸ਼ੀਨ ਦਾ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਕਰਨਲ ਸਾਂਝਾ ਕਰਦੇ ਹਨ ਅਤੇ ਸਿਰਫ਼ ਐਪ ਨੂੰ ਵੱਖ ਕਰਦੇ ਹਨ, ਇਸ ਲਈ ਉਹ ਤੇਜ਼ ਸ਼ੁਰੂ ਹੁੰਦੇ ਹਨ ਅਤੇ ਘੱਟ ਮੈਮਰੀ ਵਰਤਦੇ ਹਨ।
ਕੀ Docker ਮੁਫ਼ਤ ਹੈ?
Docker Engine, ਉਹ ਕੋਰ ਜੋ ਕੰਟੇਨਰ ਚਲਾਉਂਦਾ ਹੈ, ਮੁਫ਼ਤ ਅਤੇ ਓਪਨ ਸੋਰਸ ਹੈ। ਸਤੰਬਰ 2026 ਤੱਕ, Docker ਦੀਆਂ ਸ਼ਰਤਾਂ ਅਨੁਸਾਰ Docker Desktop ਗ਼ੈਰ-ਵਪਾਰਕ ਓਪਨ ਸੋਰਸ ਪ੍ਰੋਜੈਕਟਾਂ ਅਤੇ 250 ਤੋਂ ਘੱਟ ਕਰਮਚਾਰੀਆਂ ਅਤੇ 10 ਮਿਲੀਅਨ ਡਾਲਰ ਤੋਂ ਘੱਟ ਸਾਲਾਨਾ ਆਮਦਨ ਵਾਲੀਆਂ ਕੰਪਨੀਆਂ ਲਈ ਮੁਫ਼ਤ ਹੈ; ਵੱਡੀਆਂ ਕੰਪਨੀਆਂ ਨੂੰ ਅਦਾਇਗੀ ਗਾਹਕੀ ਚਾਹੀਦੀ ਹੈ।
ਕੀ ਮੈਨੂੰ AI ਨਾਲ ਐਪ ਬਣਾਉਣ ਲਈ Docker ਸਿੱਖਣਾ ਪਵੇਗਾ?
ਆਮ ਤੌਰ 'ਤੇ ਨਹੀਂ। ਬਹੁਤ ਸਾਰੇ AI ਬਿਲਡਰ ਕੰਟੇਨਰ ਤੁਹਾਡੇ ਲਈ ਸੰਭਾਲ ਲੈਂਦੇ ਹਨ। ਇਹ ਜਾਣਨਾ ਮਦਦਗਾਰ ਹੈ ਕਿ Dockerfile ਕੀ ਹੈ, ਤਾਂ ਜੋ ਤੁਸੀਂ ਸਮਝ ਸਕੋ ਕਿ ਬੈਕਐਂਡ ਕਿਵੇਂ ਪੈਕ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਜੇ ਤੁਸੀਂ ਐਪ ਐਕਸਪੋਰਟ ਕਰੋ ਤਾਂ ਉਸਨੂੰ ਕਿਸੇ ਹੋਰ ਥਾਂ ਚਲਾ ਸਕੋ।