最近在使用docker搭建項目,發現需要在容器內訪問到宿主機上的mysql數據庫,下面我將分享一下如何實現。
首先,我們需要在docker中將宿主機的mysql端口映射到容器內。
docker run -d -p 3306:3306 mysql:latest
接下來,在mysql中創建需要訪問的數據庫和用戶。
CREATE DATABASE database_name;
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
其中,database_name
表示數據庫名稱,username
表示用戶名,password
表示密碼。
然后,在容器中安裝mysql客戶端。
apt-get update
apt-get install -y mysql-client
最后,在容器中使用mysql客戶端連接宿主機上的mysql數據庫。
mysql -h host -P port -u username -p password
其中,host
表示宿主機ip地址,port
表示mysql端口號,username
和password
分別表示上面創建的用戶名和密碼。
以上就是我在docker容器內訪問宿主機mysql的方法,希望對大家有幫助。