takeshi-1000 / my_memo

0 stars 1 forks source link

Dockerメモ #74

Closed takeshi-1000 closed 2 years ago

takeshi-1000 commented 2 years ago
takeshi-1000 commented 2 years ago

Docker for desktop は、Dockerを使うのに必要なlinuxを含む諸々のパッケージをインストールする

takeshi-1000 commented 2 years ago

docker hub 上でlinuxのさまざまなdistributionのイメージがあるっぽい これとか? https://hub.docker.com/_/ubuntu

takeshi-1000 commented 2 years ago
スクリーンショット 2022-06-19 13 45 10
takeshi-1000 commented 2 years ago

基本的には各ソフトウェアをバラバラのコンテナで生成して、稼働させる感じっぽい では稼働させたいアプリケーション本体も別のコンテナにするって感じなのか

takeshi-1000 commented 2 years ago
takeshi-1000 commented 2 years ago

コンテナはカーネルを含める必要もなく、ディストリビューションをコンテナごとに変えて作成することも可能

|| ubuntu like os ||  || centos like os ||  ||redhat like os ||
========
|| Linux ||
takeshi-1000 commented 2 years ago

Dockerは、どのアプリもマシンに依存するので、マシンがダメになったら終わる

EC2はハードごとエミューレートするので、Dockerは冗長化とはちょっと違う感じ

takeshi-1000 commented 2 years ago

docker pull docker create docker start は docker run

takeshi-1000 commented 2 years ago

docker ps 稼働しているコンテナを表示 docker ps -a 存在しているコンテナを表示

takeshi-1000 commented 2 years ago
スクリーンショット 2022-06-20 6 11 23
takeshi-1000 commented 2 years ago
docker run --name mysql000ex11 -dit --net=wordpress000net1 -e MYSQL_ROOT_PASSWORD=myrootpass -e MYSQL_DATABASE=wordpress000db -e MYSQL_USER=wordpress000kun -e MYSQL_PASSWORD=wkunpass --platform linux/x86_64 -p 3307:3306 mysql --character-set-server=utf8mb4 --collationserver=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
takeshi-1000 commented 2 years ago
docker run --name wordpress000ex12 -dit --net=wordpress000net1 -p 8085:80 -e WORDPRESS_DB_HOST=mysql000ex11 -e WORDPRESS_DB_NAME=wordpress000db -e WORDPRESS_DB_USER=wordpress000kun -e WORDPRESS_DB_PASSWORD=wkunpass wordpress
takeshi-1000 commented 2 years ago

結局ダメ↑

takeshi-1000 commented 2 years ago

複数のコンテナを作成して、つなげるにはnetworkを作成する必要がある?

docker network create hoge

takeshi-1000 commented 2 years ago

コンテナのマウント割り当てには二つ方法がある

スクリーンショット 2022-06-20 9 04 01
takeshi-1000 commented 2 years ago
スクリーンショット 2022-06-20 9 08 14
takeshi-1000 commented 2 years ago

使ったコマンドたち

docker network create wordpress000net1 docker run --name mysql000ex11 -dit --net=wordpress000net1 -e MYSQL_ROOT_PASSWORD=myrootpass -e MYSQL_DATABASE=wordpress000db -e MYSQL_USER=wordpress000kun -e MYSQL_PASSWORD=wkunpass --platform linux/x86_64 mysql --character-set-server=utf8mb4 --collationserver=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password docker run --name mysql000ex11 -dit --net=wordpress000net1 -e MYSQL_ROOT_PASSWORD=myrootpass -e MYSQL_DATABASE=wordpress000db -e MYSQL_USER=wordpress000kun -e MYSQL_PASSWORD=wkunpass --platform linux/x86_64 -p 3307:3306 mysql --character-set-server=utf8mb4 --collationserver=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password docker run --name wordpress000ex12 -dit --net=wordpress000net1 -p 8085:80 -e WORDPRESS_DB_HOST=mysql000ex11 -e WORDPRESS_DB_NAME=wordpress000db -e WORDPRESS_DB_USER=wordpress000kun -e WORDPRESS_DB_PASSWORD=wkunpass wordpress docker image rm 9d 65 docker network ls docker network rm wordpress000net1 docker cp ~/Desktop/index.html apa000ex19:/usr/local/apache2/htdocs/ (コンテナ稼働されている前提) docker cp apa000ex19:/usr/local/apache2/htdocs/index.html ~/Desktop (コンテナ稼働されている前提) docker volume create apa000vol1 docker run --name apa000ex21 -d -p 8091:80 -v apa000vol1:/usr/local/apache2/htdocs httpd docker volume inspect apa000vol1 (作成したボリュームの詳細を確認) docker container inspect apa000ex21 (ボリュームマウントの詳細を確認) docker stop apa000ex21 docker rm 5a docker image rm httpd docker volume ls docker volume rm apa000vol1 docker image ls docker ps docker ps -a

takeshi-1000 commented 2 years ago

dockerのイメージ作成方法は二つ

takeshi-1000 commented 2 years ago
[takeshikomori@MacBook-Pro-2:~/me/private/docker/practice]
$ docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
httpd        latest    fe5a5b0d36aa   6 days ago   137MB

[takeshikomori@MacBook-Pro-2:~/me/private/docker/practice]
$ docker commit apa000ex22 ex22_original1 
sha256:bfdf5d0a8809b87e90b415969c21c9ee86cfeb426b5e1eb68ff88081d9738431

[takeshikomori@MacBook-Pro-2:~/me/private/docker/practice]
$ docker image ls
REPOSITORY       TAG       IMAGE ID       CREATED         SIZE
ex22_original1   latest    bfdf5d0a8809   6 seconds ago   137MB
httpd            latest    fe5a5b0d36aa   6 days ago      137MB
takeshi-1000 commented 2 years ago
[takeshikomori@MacBook-Pro-2:~/me/private/docker/practice]
$ docker run --name test -it -p 8080:80 httpd /bin/bash
root@93aac2c9c506:/usr/local/apache2# echo "hello world"
hello world
root@93aac2c9c506:/usr/local/apache2# 
takeshi-1000 commented 2 years ago
スクリーンショット 2022-06-22 8 13 06

docker-compose は ymlファイルを元にコンテナの起動、ネットワークの作成、ボリュームの作成を行う

takeshi-1000 commented 2 years ago

https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/ を使うとguiのubuntuの確認ができた