<- Запускаем полезные сервисы в контейнерах docker
Решил перенести все свои сервисы из хост машины в контейнеры Docker, что оказалось очень удобно. На данный момент я часто использую mysql(mariadb), postgresql, redis и memcached.
Небольшой список команд для запуска контейнеров:
# PostgreSQL
➜ ~ docker run --name postgres -p 5432:5432 -d postgres
➜ ~ psql -U postgres -h local.docker
psql (9.4.5, server 9.5.2)
WARNING: psql major version 9.4, server major version 9.5.
Some psql features might not work.
Type "help" for help.
postgres=#
# MySQL (MariaDB)
➜ ~ docker run --name mariadb -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=1 -d mariadb
# Опция MYSQL_ALLOW_EMPTY_PASSWORD=1 говорит о том, что нам не нужен пароль для авторизации
➜ ~ mysql -uroot -h local.docker
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.5-10.1.13-MariaDB-1~jessie mariadb.org binary distribution
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
# Redis
➜ ~ docker run --name redis -p 6379:6379 -d redis
# Memcached
docker run --name memcached -p 11211:11211 -d memcached
➜ ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3c8f104cfa4e mariadb "/docker-entrypoint.s" 5 minutes ago Up 5 minutes 192.168.64.2:3306->3306/tcp mariadb
c7751e050c2e postgres "/docker-entrypoint.s" 13 minutes ago Up 13 minutes 192.168.64.2:5432->5432/tcp postgres
b787fe27a4d7 redis "/entrypoint.sh redis" About an hour ago Up About an hour 192.168.64.2:6379->6379/tcp redis
f880a114121b memcached "/entrypoint.sh memca" About an hour ago Up About an hour 192.168.64.2:11211->11211/tcp memcached
➜ ~
Видно что контейнеры работают в фоновом режиме. Для каждого из контейнеров можно запустить команду exec и запустить например sh:
➜ ~ docker exec -it postgres bash
root@c7751e050c2e:/# su postgres
$ psql
psql (9.5.2)
Type "help" for help.
postgres=#