初心者の0から始めるDocker生活[Ubuntu18.04LTS, MySQL編 feat.Windows WSL2]
はじめに
こんちゃー
前回は,Dockerでpythonのコンテナを建てました.
まぁ,pythonのコンテナ建てたとこでつまんないんで,今回はUbuntuのコンテナを建てて運用していきます.
それじゃ,れっつごー
環境
- OS: Windows10 Pro
- CPU: intel Corei9-9900k
- GPU: Nvidia GeForce RTX 2080 Super
- RAM: 32GB
DockerFile
DockerFileでやります.
僕はこれ以外やり方を知らないので,これでやりますが他にいい方法がありそうなので,ggってみてください.
SQLも入れてますが,後の記事で説明するので,いらん人は,消しちゃってください.
(注意)
user
の部分は,自分なりのusernameにしてください.
このままやると,userというusernameになってしまいます.
パスワード設定で,passとなっている部分は,ubuntuのコンテナ内で使用するパスワードです.
(後述するSQLのパスワードではありません.)
# =========
FROM ubuntu:18.04
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install python3 python3-pip -y
RUN apt-get install -y software-properties-common
RUN apt-get install curl emacs wget sudo -y --fix-missing
# rootだと色々と不便なので,ユーザーを作成
RUN useradd -m user
# ルート権限を付与
RUN gpasswd -a user sudo
# パスワード設定 passの部分も編集してください.
RUN echo 'user:pass' | chpasswd
WORKDIR /home/user/app
COPY --chown=user:user app/ /home/user/app
RUN pip3 install PyMySQL
#===========SSH=============
#sshは今回は使用していません.以下3行は無くても大丈夫です.
RUN apt-get install -y openssh-server
RUN mkdir /var/run/sshd
EXPOSE 22
#==========emacs==========
RUN echo "(setq make-backup-files nil)" >> ~user/.emacs
RUN echo "(set-default-coding-systems 'utf-8-unix)" >> ~user/.emacs
RUN echo "export LC_CTYPE='C.UTF-8'" >> ~user/.bashrc
RUN . ~user/.bashrc
RUN chown user:user /home/user/.emacs
#chown -R user ~/.emacs.d/
#===========sql=============
RUN apt-get install mysql-server mysql-client -y --fix-missing
RUN apt-get install --reinstall systemd -y
RUN systemctl enable mysql
こんな感じですね.(自分を沼に沈めた人のgistをいじくってます.)
コンテナを建ててゆくぅ
なんだかんだとDockerFileができましたら,まずはイメージ(型)を作成していきましょう.
docker build -f ./Dockerfile -t イメージ名 .
で,イメージができましたら,run(コンテナ生成)していきましょ.
localhost(127.0.0.1)の後の3306:3306
は,データの入口と出口(田口)のポートを指定しています.
このあとやるSQLいじりの時に使うので,入れといて損はないと思います.
user
の部分を自分のusernameに変更してください.
コンテナの中でGPUを使用したい方は,3行目を使用してください.
docker run -itd -p 127.0.0.1:3306:3306 -u user --name コンテナ名 イメージ名
#docker上でgpu動かす
docker run -itd --gpus all -p 127.0.0.1:3306:3306 -u user --name コンテナ名 イメージ名
できたら,コンテナの中に入っていきましょう.
docker exec -i -t コンテナ名 bash
で入れると,OKです.
補足
SQLをやりたい場合は,コンテナの中に入って以下の文を1行ずつ入れていきましょう.
#動いているか確認
sudo systemctl status mysql
#有効化
sudo systemctl enable mysql
#起動
sudo /etc/init.d/mysql start
#セキュリティの設定
sudo mysql_secure_installation
全部yes
#SQLに入る
sudo mysql -u root -p
#SQL内で設定
#ユーザー一覧の確認
SELECT user,authentication_string,plugin,host FROM mysql.user;
#rootパスワードを変更(PASSの部分を自分のパスワードに変更してください.SQLに入るときのパスワードになります)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PASS';
#設定の反映
FLUSH PRIVILEGES;
最後に
取り急ぎ作ったんでボロがありますので,適宜検索等をしながら進めていただけると幸いです.
このままやってみて,動かない等ありましたら連絡いただけますと助かります.
次は初心者SQL編でお会いしましょう.
Author And Source
この問題について(初心者の0から始めるDocker生活[Ubuntu18.04LTS, MySQL編 feat.Windows WSL2]), 我々は、より多くの情報をここで見つけました https://qiita.com/rasuk/items/60a9d9e424f64c127eef著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .