本文介紹在linux下使用docker安裝mysql和redis。
原文地址:代碼匯個人博客 http://www.codehui.net/info/59.html
測試環境:centos7.6,docker 18.09.1
首先要確保docker環境已經安裝成功
[root@localhost ~]# docker --version
Docker version 18.09.2, build 6247962
Docker 安裝 Mysql
- 安裝鏡像
直接跳過docker search mysql這一步,我們直接安裝官方mysql5.5的鏡像
[root@localhost ~]# docker pull mysql:5.5
安裝完成查看本地鏡像,標簽名為5.5
[root@localhost ~]# docker images mysql
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.5 50ba61f07d0c 7 days ago 205MB
- 運行容器
[root@localhost ~]# docker run -p 3306:3306 -d --name mymysql -v /docker/mysql/data:/usr/share/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.5
979542f0c201ed229a548a260cd3bf0d8fbafb99ecb3e75e74cdc302358575f6
-p 3306:3306:將容器的 3306 端口映射到主機的 3306 端口。
-v /docker/mysql/data:/usr/share/mysql:將主機當前目錄下的data目錄掛載到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用戶的密碼。
- 查看容器運行情況
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
979542f0c201 mysql:5.5 "docker-entrypoint.sh" 2 minutes ago Up 2 minutes 0.0.0.0:3306->3306/tcp mymysql
- 使用mysql
[root@localhost ~]# docker exec -it mymysql bash
root@979542f0c201:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.62 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, 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>
Docker 安裝 Redis
- 安裝鏡像
這里安裝redis3.2的官方鏡像版本
[root@localhost ~]# docker pull redis:3.2
安裝完成查看本地鏡像,標簽名為3.2
[root@localhost ~]# docker images redis
REPOSITORY TAG IMAGE ID CREATED SIZE
redis 3.2 87856cc39862 4 months ago 76MB
- 運行容器
[root@localhost ~]# docker run -p 6379:6379 -d --name myredis -v /docker/redis/data:/data redis:3.2 redis-server --appendonly yes
84631392a9fab37c08976673c75a701687bfe6a3443209db92a19bab8e107b6b
-p 6379:6379 將容器的6379端口映射到主機的6379端口
-v /docker/redis/data:/data: 將主機中當前目錄下的data掛載到容器的/data
redis-server --appendonly yes: 在容器執行redis-server啟動命令,並打開redis持久化配置
- 查看容器運行情況
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
84631392a9fa redis:3.2 "docker-entrypoint.s猞" 16 seconds ago Up 13 seconds 0.0.0.0:6379->6379/tcp myredis
979542f0c201 mysql:5.5 "docker-entrypoint.s猞" 14 minutes ago Up 14 minutes 0.0.0.0:3306->3306/tcp mymysql
- 使用redis
[root@localhost ~]# docker exec -it myredis redis-cli
127.0.0.1:6379> ping
PONG
