LoginSignup
0
0

More than 1 year has passed since last update.

初心者の0から始めるDocker生活[Ubuntu18.04LTS, MySQL編 feat.Windows WSL2]

Last updated at Posted at 2021-08-24

はじめに

こんちゃー
前回は,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編でお会いしましょう.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0