[Docker] What is Docker ?
Docker Komutları
docker pull imageName // imageName= ornegin redis dediğmizde docker hub ' tan localimize redisin imageini inidiri
docker run imageName // indirilen image 'ten bir instance container olarak calıştırılır.
docker ps // ps process manasında olabilir calisan containerleri listeler
docker ps -a // durdurulmus containerleride gösterir
docker rm [name or id] // remove eder kaldırır
docker container rm $(docker container ls -aq) // tumunu silmek için bash komutu
docker run -it name dummy_ubuntu ubuntu // tag name vermek icin
docker run redis:5 // 5 nolu versiyonu indir calistir demek
docker run -d redis // arkaplanda calısması icin detach mode
docker run attach contanerId // arkaplandakini ön plana ceker :) detach modu devre dışı bırakıyor
docker container logs containerID // görmediğimiz logları getir demek
docker run -it imageName // it interaktif terminal olarak calıstırır olaki terminalden RGUMAN VS ALIYOSAN SENİ ETKİLESİME GECİRİR
docker run -p disPort:icPort mongodb. // dis ic esit olabilir farkli da olabilir ic port container icersindeki tanimli port olmak zorunda
Docker host uzerinde containerlar stateless calısır yani uzerinde bilgi tutmaz docker a verilerin kalıcı olabilmesi için volume kullanılır
volume maping bu olay container üzeirnde tutulan dataların docker hosta aktarılmasını sağlar böylelikler container bilgileri ucmaz
docker run -v hostPath:containerPath containerName
docker run -v /opt/data:/data/db mongo
--------------------------------------------------
container e girmek için kullanılan command
docker exec -it containerName bash
docker exec -it mysql-server bash
coniainer icersinde mysql e girmek bağlanmak için kullanılan command
mysql -u userName -p[passWord]
mysql -u root -p1234
docker inspect containerID or containerName
docker cookbook
https://books.google.com.tr/books?id=C8XeCgAAQBAJ&pg=PA31&lpg=PA31&dq=when+we+rm+container+lost+db+data&source=bl&ots=pVUNTLb00v&sig=ACfU3U20AWudIYdLRcy1uzVswZm9X5tvAQ&hl=tr&sa=X&ved=2ahUKEwiW6Iznicv4AhUvRPEDHZ-RDfkQ6AF6BAggEAM#v=onepage&q=when%20we%20rm%20container%20lost%20db%20data&f=false
-- networkleri listeler
docker network ls
docker network list
-- network tanımlama bridge tipinde
docker network create --driver bridge --subnet 182.18.0.1/24 --gateway 182.18.0.1 customNetwork
-- olusturulan networke dahil edilen bir container ayaga kaldırdık
docker run --name mongo-server --net customNetwork -d mongo
docker run --net customNetwork -p 3000:3000 gkandemir/todo-app
-------------------------------
docker file yazma
FROM Ubuntu:18.04
ENTRYPOINT ["sleep"]
CMD ["2"]
--------------------------------
docker file örnek
FROM node:14-slim
WORKDIR /opt/node-todo-app
COMPY . .
ENV PORT =4000
EXPOSE 4000
RUN npm install
ENTRYPOINT ["node"]
CMD ["app.js"]
--------------------------------
docker compose nasıl yazılır örnek docker-compose.yml icersine yazılması gerekiyor bunu build etmek için docker-compose build komutu kullanılır ayağa kaldırmak için docker-compose up
durdurmak için docker-compose down kullanılır.
asagida docker compose yml dosyası var
version: "3.4"
services:
todo-app:
container_name: dc-todo-app
build: .
ports:
- 3000:3000
mongodb:
image: mongo
volumes:
- todo-app-data:/data/db
ports:
- 27017:27017
volumes:
todo-app-data
----------------------------------------------------
-- file upload olan bir uygulamada volum vermek
-- docker-compose.yml dosyası nasıl olmalı.
version: "3.4"
services:
uploader-app:
build: .
ports:
-3000:3000
volumes:
- uploader-vol:/uploads // burdaki /uploads uygulamaicindeki dizin
volumes:
uploader-vol:
-----------------------------------------------------------------------------
version: "3.4"
services:
wordpress:
image: wordpress
ports:
-8080:80
enviromet:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: bloguser
WORDPRESS_DB_PASSWORD: 1234
WORDPRESS_DB_NAME: blogdb
volumes:
- wordpress:/var/www/html
db:
image: mysql:5.7
restart: always
enviroment:
MYSQL_DATABASE: blogdb
MYSQL_USER: bloguser
MYSQL_PASSWORD: 1234
MYSQL_RANDOM_ROOT_PASSWORD: "1"
volumes:
- db:/var/lib/mysql
volumes:
wordpress:
db:
Yorumlar
Yorum Gönder