Docker Komutlar
docker ps -a Tüm İmajları listerler
docker ps Çalışan imajları listeler
docker network inspect bridge
docker inspect docker pull
docker search
docker run
docker rm imajı kaldırır
docker rm -f çalışıyor olsada imajı kaldırır docker stats container performanslarını gösterir
docker exec -it bash # Backup
docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql # Restore cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE
docker attach
docker logs Stop and remove all docker containers and images container listele
docker ps -aq container tümünü durdur docker stop $(docker ps -aq) Tüm containerları kaldır docker rm $(docker ps -aq)
Tüm images ları kaldır docker rmi $(docker images -q)
2019-10-16 15:12:05
devamı ...
Docker Container Mysql Backup and Restore
# IP adresini öğrenelim
docker inspect CONTAINER | grep IPAddres
# geri yüklemek için db sema önceden olmalı
mysql -uroot -ppass -h IPAddress sema_adi -P 3306 < db_backup.sql
# yedeklemek için
mysqldump -uroot -ppass IPAddress sema_adi -P 3306 > db_backup.sql
2020-03-17 10:43:07
devamı ...
Docker container üzerinde laravel job, crontab, cron çalıştırma
docker exec -t <container-name> php artisan schedule:run >> /var/log/<container-name>.log 2>&1
2021-08-31 17:00:39
devamı ...
laravel rabbitmq
composer require vladimir-yuldashev/laravel-queue-rabbitmq
docker run -d --hostname my-rabbit --name rabbitmq -p 8080:15672 -p 5672:5672 rabbitmq:3-management
queue.php
'rabbitmq' => [
'driver' => 'rabbitmq',
'queue' => env('RABBITMQ_QUEUE', 'statusOfBill'),
'connection' => PhpAmqpLib\Connection\AMQPLazyConnection::class,
'hosts' => [
[
'host' => env('RABBITMQ_HOST', '127.0.0.1'),
'port' => env('RABBITMQ_PORT', 5672),
'user' => env('RABBITMQ_USER', 'guest'),
'password' => env('RABBITMQ_PASSWORD', 'guest'),
'vhost' => env('RABBITMQ_VHOST', '/'),
],
],
'options' => [
'ssl_options' => [
'cafile' => env('RABBITMQ_SSL_CAFILE', null),
'local_cert' => env('RABBITMQ_SSL_LOCALCERT', null),
'local_key' => env('RABBITMQ_SSL_LOCALKEY', null),
'verify_peer' => env('RABBITMQ_SSL_VERIFY_PEER', true),
'passphrase' => env('RABBITMQ_SSL_PASSPHRASE', null),
],
'queue' => [
'job' => VladimirYuldashev\LaravelQueueRabbitMQ\Queue\Jobs\RabbitMQJob::class,
],
],
/*
* Set to "horizon" if you wish to use Laravel Horizon.
*/
'worker' => env('RABBITMQ_WORKER', 'default'),
],
.env
QUEUE_CONNECTION=rabbitmq
publisher
php artisan make:job TestJob
class TestJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
private $data;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
}
}
php artisan make:command FireEvent
class FireEvent extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'fire';
public function handle()
{
TestJob::dispatch(MemorizedPage::find(1)->toArray());
}
}
Consumer
php artisan make:job TestJob
class TestJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
private $data;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
echo 'Event: UserCreated' . PHP_EOL;
echo json_encode($this->data) . PHP_EOL;
// TODO: Event User Created
}
}
BankExtreJob::dispatch( $exception)->onConnection('rabbitmq')->onQueue('default');
EventServiceProvider.php
public function boot()
{
\App::bindMethod(TestJob::class . '@handle', fn($job) => $job->handle());
}
2021-09-12 23:33:31
devamı ...
Docker üzerinde çalışan queue ları için aşağıdaki şekilde izleyebilirsiniz
docker exec -t <container_name> php artisan queue:work <connection_name>
docker exec -t <container_name> php artisan queue:work <connection_name> --queue=<queue_name>
2021-09-14 14:26:33
devamı ...
Docker Container Gitlab oluşturma
docker run --detach --hostname gitlab.test --publish 4443:443 --publish 8061:80 --publish 2222:22 --name gitlab --restart always -e GITLAB_ROOT_EMAIL="xxxxx@xxxxx.com" -e GITLAB_ROOT_PASSWORD="pass" --shm-size 256m gitlab/gitlab-ce:latest
2022-03-16 02:14:15
devamı ...
Docker default IP ayarlarını değiştirme
docker IP leri iç network IP leri ile çakışırsa aşağıdaki şekilde değiştirebilirsiniz.
dosya yoksa oluşturulur
nano /etc/docker/daemon.json
Aşağıdaki şekilde içeriği düzenlenir. IP ler istenilen şekilde düzenlenebilir.
{
"log-driver": "journald",
"log-opts": {
"tag": "{{.Name}}"
},
"bip": "153.53.0.1/16",
"default-address-pools":
[
{
"base":"153.10.0.0/16",
"size":24
}
]
}
sudo systemctl restart docker
netstat -rn
2022-06-08 14:07:42
devamı ...
Docker container
Docker container içerisine root ile girme
docker exec -u root -it <container> bash
2022-08-16 16:55:24
devamı ...
Docker Container içine dosya kopyalama işlemi
docker cp php.ini faturamnetyp_wwwpm_1:/usr/local/etc/php/
2022-09-01 18:36:21
devamı ...
gitlab ci cd sample ssh
image: malikandemir/laravel-application:0.1.0
before_script:
- apt-get update -qq
- apt-get install -qq git
# Setup SSH deploy keys
- 'which ssh-agent || ( apt-get install -qq openssh-client )'
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
deploy_staging:
stage: build
environment:
name: staging
url: example.com'
script:
- ssh user@host "cd /home/testpaysystem/ && git pull && npm run dev && exit"
only:
- main
2022-10-11 16:59:35
devamı ...