Docker MySQLコンテナの作成

1877 ワード

原文リンク:Docker MySQLコンテナの作成
このような目的はMySQLのイメージを作成し、出てきたコンテナの中で自分でMySQLサービスを起動して外部接続を受けることです.
手順:
1.まずフォルダを作成し、フォルダの下にDockerfileを作成します.ファイルの内容は以下のとおりです.
FROM centos:centos6
MAINTAINER Fanbin Kong "[email protected]"
 
RUN yum install -y mysql-server mysql
 
RUN /etc/init.d/mysqld start &&\
    mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'letmein';"&&\
    mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'letmein';"&&\
    mysql -u root -pletmein -e "show databases;"
 
EXPOSE 3306
 
CMD ["/usr/bin/mysqld_safe"]
2.Dockerfileのフォルダの下でbuildコマンドを実行してimageファイルを生成します.ここでmysql_を使用します.サーバをイメージファイル名として
sudo docker build -t mysql_server .
buildコマンドを実行すると、「sudocker images」を使用して表示できます.
3.起動容器
3.1まず、以下のコマンドを使用してコンテナを起動します.
sudo docker run --name=mysqlserver -d -P mysql_server
容器を起動した後.「sudo docker ps」を使用して表示できます.このときPORTS列の内容は「0.0.0.0:49153->3306/tcp」であり、容器の3306 portは宿主機器の49153 portにマッピングされ、宿主機器の49153 portによって接続することができる.例えば:
mysql -h <    > -u root -pletmein -P 49153
3.2また、容器を実行する際には、以下のコマンドを使用することもできます.
sudo docker run --name=mysqlserver -d -p 3306:3306 mysql_server
このときコンテナの3306 portはホストマシンの3306 portにマッピングされ、ホストマシンの3306 portからmysqlにアクセスできます.
mysql -h <    > -u root -pletmein
3.3もう一つのケースは、安全を考慮するためです.現在のホストマシンがmysqlサービスにアクセスできることを望んでいます.このとき、私たちは
sudo docker run --name=mysqlserver -d -p 127.0.0.1:3306:3306 mysql_server
本文のブログのオリジナルの文章.ブログは、同意を得ずに転載してはならない.