[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

Bu blogdaki popüler yayınlar

Bir Yazılımcının karşılaşabileceği Mülakat Soruları Karşılaştıklarım

[Java] Append Nedir

WebSocket Nedir?