-
Notifications
You must be signed in to change notification settings - Fork 2
Docker Note
Chase Liu edited this page Jul 4, 2017
·
9 revisions
$ sudo vim /etc/docker/daemon.json在其中添加以下属性
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}Official Image: https://hub.docker.com/_/mysql/
[mysqld]
# By default we only accept connections from localhost
bind-address = 0.0.0.0
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Enable binlog (if needed)
log-bin = /var/lib/mysql/binlog
expire-logs-days = 30
max-binlog-size = 1024M
server-id = 1| args | description |
|---|---|
--name mysql |
|
-v /my/own/datadir:/var/lib/mysql |
default data dir |
-v /my/own/confdir:/etc/mysql/conf.d |
default conf dir |
-p 3306:3306 |
default port. 3306 of the host should be accessible |
-e MYSQL_ROOT_PASSWORD=my-secret-pw |
If data dir contains files of an existing database instance, root password will be omitted anyway. |
mysql:5.7 |
mysql-5.7 |
$ docker run \
--name mysql \
-v /home/jk/data:/var/lib/mysql \
-v /home/jk/mysql-confs:/etc/mysql/conf.d \
-p 3306:3306 \
-d mysql:5.7Use netstat -tulpen to list host port usage to check the running status of MySQL.
$ docker run \
-it --link mysql:mysql \
--rm mysql sh \
-c 'exec mysql -h "$MYSQL_PORT_3306_TCP_ADDR" -P "$MYSQL_PORT_3306_TCP_PORT" -u root -p "$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
# recover from dump
docker exec -i MYSQL-CONTAINER_NAME mysql -u root --password TARGET_DB < dump.sql
# dump
docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql# run redis-server
$ docker run --name redis -p 6379:6379 -d redis
# run redis-cli
$ docker run -it --link redis:redis --rm redis redis-cli -h redis -p 6379