Closed takeshi-1000 closed 2 years ago
Docker for desktop は、Dockerを使うのに必要なlinuxを含む諸々のパッケージをインストールする
docker hub 上でlinuxのさまざまなdistributionのイメージがあるっぽい これとか? https://hub.docker.com/_/ubuntu
基本的には各ソフトウェアをバラバラのコンテナで生成して、稼働させる感じっぽい では稼働させたいアプリケーション本体も別のコンテナにするって感じなのか
コンテナはカーネルを含める必要もなく、ディストリビューションをコンテナごとに変えて作成することも可能
|| ubuntu like os || || centos like os || ||redhat like os ||
========
|| Linux ||
Dockerは、どのアプリもマシンに依存するので、マシンがダメになったら終わる
EC2はハードごとエミューレートするので、Dockerは冗長化とはちょっと違う感じ
docker pull docker create docker start は docker run
docker ps 稼働しているコンテナを表示 docker ps -a 存在しているコンテナを表示
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
結局ダメ↑
複数のコンテナを作成して、つなげるにはnetworkを作成する必要がある?
docker network create hoge
コンテナのマウント割り当てには二つ方法がある
使ったコマンドたち
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
dockerのイメージ作成方法は二つ
[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
[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#
docker-compose は ymlファイルを元にコンテナの起動、ネットワークの作成、ボリュームの作成を行う
https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/ を使うとguiのubuntuの確認ができた