此外,我們還可以用 docker search mysql 命令來查看可用版本:
$ docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relati... 2529 [OK] mysql/mysql-server Optimized MySQL Server Docker images. Crea... 161 [OK] centurylink/mysql Image containing mysql. Optimized to be li... 45 [OK] sameersbn/mysql 36 [OK] google/mysql MySQL server for Google Compute Engine 16 [OK] appcontainers/mysql Centos/Debian Based Customizable MySQL Con... 8 [OK] marvambass/mysql MySQL Server based on Ubuntu 14.04 6 [OK] drupaldocker/mysql MySQL for Drupal 2 [OK] azukiapp/mysql Docker image to run MySQL by Azuki - http:... 2 [OK] ...
2、拉取 MySQL 鏡像
這裏我們拉取官方的最新版本的鏡像:
$ docker pull mysql:latest
3、查看本地鏡像
使用以下命令來查看是否已安裝了 mysql:
$ docker images
在上圖中可以看到我們已經安裝了最新版本(latest)的 mysql 鏡像。
4、運行容器
安裝完成後,我們可以使用以下命令來運行 mysql 容器:
$ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
參數說明:
- -p 3306:3306 :映射容器服務的 3306 端口到宿主機的 3306 端口,外部主機可以直接通過 宿主機ip:3306 訪問到 MySQL 的服務。
- MYSQL_ROOT_PASSWORD=123456:設置 MySQL 服務 root 用戶的密碼。
5、安裝成功
通過 docker ps 命令查看是否安裝成功:
本機可以通過 root 和密碼 123456 訪問 MySQL 服務。
2 篇筆記 寫筆記
-
Brian
153***[email protected]
28
最新官方MySQL(5.7.19)的docker鏡像在創建時映射的配置文件目錄有所不同,在此記錄並分享給大家:
官方原文:
The MySQL startup configuration is specified in the file
/etc/mysql/my.cnf
, and that file in turn includes any files found in the/etc/mysql/conf.d
directory that end with.cnf
. Settings in files in this directory will augment and/or override settings in/etc/mysql/my.cnf
. If you want to use a customized MySQL configuration, you can create your alternative configuration file in a directory on the host machine and then mount that directory location as/etc/mysql/conf.d
inside themysql
container.大概意思是說:
MySQL(5.7.19)的默認配置文件是 /etc/mysql/my.cnf 文件。如果想要自定義配置,建議向 /etc/mysql/conf.d 目錄中創建 .cnf 文件。新建的文件可以任意起名,只要保證後綴名是 cnf 即可。新建的文件中的配置項可以覆蓋 /etc/mysql/my.cnf 中的配置項。
具體操作:
首先需要創建將要映射到容器中的目錄以及.cnf文件,然後再創建容器
# pwd /opt # mkdir -p docker_v/mysql/conf # cd docker_v/mysql/conf # touch my.cnf # docker run -p 3306:3306 --name mysql -v /opt/docker_v/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d imageID 4ec4f56455ea2d6d7251a05b7f308e314051fdad2c26bf3d0f27a9b0c0a71414
命令說明:
- -p 3306:3306:將容器的3306端口映射到主機的3306端口
- -v /opt/docker_v/mysql/conf:/etc/mysql/conf.d:將主機/opt/docker_v/mysql/conf目錄掛載到容器的/etc/mysql/conf.d
- -e MYSQL_ROOT_PASSWORD=123456:初始化root用戶的密碼
- -d: 後臺運行容器,並返回容器ID
- imageID: mysql鏡像ID
查看容器運行情況
# docker ps CONTAINER ID IMAGE COMMAND ... PORTS NAMES 4ec4f56455ea c73c7527c03a "docker-entrypoint.sh" ... 0.0.0.0:3306->3306/tcp mysql
BrianBrian
153***[email protected]
3年前 (2017-09-08) -
liaozesong
lia***[email protected]
50
docker 安裝 mysql 8 版本
# docker 中下載 mysql docker pull mysql #啓動 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Lzslov123! -d mysql #進入容器 docker exec -it mysql bash #登錄mysql mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lzslov123!'; #添加遠程登錄用戶 CREATE USER 'liaozesong'@'%' IDENTIFIED WITH mysql_native_password BY 'Lzslov123!'; GRANT ALL PRIVILEGES ON *.* TO 'liaozesong'@'%';