0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

docker

Last updated at Posted at 2022-02-12

apache httpd

index.htmlファイル作成

docker実行フォルダ
$ vi index.html
index.html
<html>
<head></head>
<body>Hello Docker</body>
</html>

docker Desktopを起動

コンテナの起動
docker runコマンドで、pull,create,startをまとめて実行する

docker実行フォルダ
$ docker run -dit --name my-apache-app -p 8080:80 -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4

$ docker run [バックグラウンドで動かすオプション] --name [コンテナ名] -p [自分のpcポート]:[コンテナのポート] -v "$PWD":/usr/local/apache2/htdocs/ [docker image名]
$ docker ps

CONTAINER ID   IMAGE       COMMAND              CREATED         STATUS         PORTS                  NAMES
0ff5aeded41f   httpd:2.4   "httpd-foreground"   2 minutes ago   Up 2 minutes   0.0.0.0:8080->80/tcp   my-apache-app

docker実行フォルダのindex.html表示
http://localhost:8080/

dockerコンテナの停止

docker実行フォルダ
$ docker stop my-apache-app
または
$ docker stop 0ff5aeded41f

dockerコンテナの確認

docker実行フォルダ
$ docker ps -a

CONTAINER ID   IMAGE       COMMAND              CREATED         STATUS                     PORTS     NAMES
0ff5aeded41f   httpd:2.4   "httpd-foreground"   8 minutes ago   Exited (0) 7 seconds ago             my-apache-app

dockerコンテナの削除
※コンテナを停止後、削除する

docker実行フォルダ
$ docker rm my-apache-app
または
$ docker rm 0ff5aeded41f

docker imageの確認

$ docker image ls

REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
httpd        2.4       b03352b171b7   4 days ago   136MB

docker imageの削除

$ docker image rm httpd:2.4

Untagged: httpd:2.4
Untagged: httpd@sha256:5cc947a200524a822883dc6ce6456d852d7c5629ab177dfbf7e38c1b4a647705
Deleted: sha256:b03352b171b7bb0f8d2691bc28ab9a18f4285c870832deb5e1242d11e166385d
Deleted: sha256:5298d2d8e3ca2178dbc2f724f7231d7b6c56c7ac767bcaa1f42b0db4cbca5236
Deleted: sha256:e470d2a89b052322c841dc6e2393c6146a7f4d93da8e8b9aa0b31517f747d6b3
Deleted: sha256:e090aebcb396be2afdfa4153a6dd5e56b42ee30167af97861657ed02da7e8ee0
Deleted: sha256:ae47976aa0cd819a24183910c7774554d4e23a99d0e76053db688b38859344a2
Deleted: sha256:f9b44a5812beb5294f1cf3b76cf9c29f1e53bf8eec7cece1b002fc5b5fbae8f2

#コンテナの独立性
-v オプションを付けず、マウントしない。

$ docker run -dit --name web1 -p 8080:80 httpd:2.4
$ docker cp /Users/ryo/Desktop/app/docker/my-apache/index.html web1:/usr/local/apache2/htdocs

$ docker cp [localファイルのpath] [コンテナ名]:/usr/local/apache2/htdocs

docker実行フォルダのindex.html表示
http://localhost:8080/

dockerコンテナ内へ入る

$ docker exec -it web1 /bin/bash

dockerコンテナ内から出る

$ exit

#データのマウント
・バインドマウント
・ボリュームマウント

docker実行フォルダ
$ docker run -dit --name web1 -p 8080:80 -v /Users/name/Desktop/app/docker/my-apache:/usr/local/apache2/htdocs/ httpd:2.4

$ docker run [バックグラウンドで動かすオプション] --name [コンテナ名] -p [自分のpcポート]:[コンテナのポート] -v [マウントするディレクトリpath]:/usr/local/apache2/htdocs/ [docker image名]

#dockerネットワーク構築
コンテナから別のコンテナへアクセス

コンテナ作成

 $ docker run -dit --name web1 -p 8080:80 httpd:2.4

コンテナのIP確認

$ docker container inspect [コンテナ名]

"IPAddress"のIP

"Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "fa5f56c33a3a9d4bc42204d2af9e653dbd7f6eeb44c8d112d5023944669fb5a3",
                    "EndpointID": "0b91de581dd31e9daa1a2696ec7bf25d4648f8fd69221c9a3ea3243e0ba8bcbc",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:02",
                    "DriverOpts": null
                }
            }

dockerネットワークを作成

$ docker network create [ネットワーク名]

$ docker network ls

dockerネットワークに属するコンテナを作成

$ docker run -dit --name web1 -p 8080:80 --net [ネットワーク名] httpd:2.4

dockerネットワークに属するコンテナを確認

$ docker network inspect [ネットワーク名]
"Containers": {
            "73438bcb291351a4116117f3a0082d4e278999d4f2d5d8079c43037dc05128df": {
                "Name": "web1",
                "EndpointID": "42c2fb1ab542527ce3aca4759d8ae2e5af5b6790f02431696bb7e454072f051d",
                "MacAddress": "02:42:ac:12:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            }
        },

ubuntuのコンテナを作成

$ docker run --rm -it ubuntu /bin/bash

ubuntuのコンテナにping,curlをインストール

$ apt update
$ apt -y upgrade
$ apt install -y iproute2 iputils-ping curl

ubuntuからweb1へアクセス

$ ping [コンテナ名]

$ curl http://[コンテナ名]/

dockerネットワークの削除

$ docker network rm [ネットワーク名]
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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?