AWSのEC2を建ててdockerを入れてその上でapacheを起動させてみます。
#インスタンスへSSH
まずはインスタンスへSSHします。
##windowsの場合
Tera Teamをインストール後起動
赤枠にAWS→EC2→インスタンス→IPv4 パブリック IPのアドレスを入力
上の赤枠:ec2-userはAmazon Linux を使っている場合
下の赤枠:.pemが置かれているパスを通す
##macの場合
ターミナル上でsshコマンドを実行します。
$ ssh -i "/user/ユーザー名/.ssh/〇〇.pem" ec2-user@パブリックIP
これで繋がります。
#Dockerインストール
##sudo yum install
$ sudo yum install
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Error: Need to pass a list of pkgs to install
Mini usage:
install PACKAGE...
Install a package or packages on your system
aliases: install-n, install-na, install-nevra
###※sudo -i(しなくてもOK!)
sudoコマンドが多いのでここからrootになります。
rootにならない場合はsudoをコマンドの前に都度入力して実行します。
[ec2-user@ip-172-31-32-22 ~]$ sudo -i
[root@ip-172-31-32-22 ~]#
##docker -v
インストールできたか確認します。
# docker -v
Docker version 18.09.9-ce, build 039a7df
##1.systemctl start docker
##2.systemctl status docker
dockerのサービスを起動し、ステータスが active になったことを 確認します。
[root@ip-172-31-32-22 ~]# systemctl start docker
[root@ip-172-31-32-22 ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2020-01-28 22:12:22 UTC; 12s ago
Docs: https://docs.docker.com
Process: 3542 ExecStartPre=/usr/libexec/docker/docker-setup-runtimes.sh (code=exited, status=0/SUCCESS)
Process: 3531 ExecStartPre=/bin/mkdir -p /run/docker (code=exited, status=0/SUCCESS)
Main PID: 3550 (dockerd)
##コンテナイメージのダウンロード
ここではDocker Hubに公開されているCentOSのimageを利用します。
CentOSのimageをダウンロードします。
##docker pull centos
すでにインストールしていたので表示が初めての人と違います。
Using default tag: latest
latest: Pulling from library/centos
Digest: sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Status: Image is up to date for centos:latest
##docker images
ダウンロードしたdocker-imageの情報を確認
[root@ip-172-31-32-22 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 5ad3bd0e67a9 6 days ago 127MB
centos latest 470671670cac 10 days ago
##docker run -p 80:80 -p 443:443 -d --privileged centos:latest /sbin/init
コンテナの起動とログイン
ダウンロードしたイメージを元に、コンテナを作成します。
※-dオプションはバックグラウンドで実行する意味です。
[root@ip-172-31-32-22 ~]# docker run -p 80:80 -p 443:443 -d --privileged centos:latest /sbin/init
95fefce8acaeef8c6d2319861545855f5d5e130734363bacf707d09653a679f8
##docker ps
psコマンドでコンテナの情報を確認し、CONTAINER ID をコピーします。
[root@ip-172-31-32-22 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
95fefce8acae centos:latest "/sbin/init" About a minute ago Up About a minute 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp reverent_kowalevski
##docker exec コマンドでコンテナへ入ります。
docker exec -it あなたのID /bin/bash
[root@ip-172-31-32-22 ~]# docker exec -it 95fefce8acae /bin/bash
[root@95fefce8acae /]#
※-iはインタラクティブモード/-tはターミナル
-i -tでも同じ
#Apache
##Apacheをインストールしましょう。
###yum install httpd
途中y/nと聞かれるので全てyと打ち込んでエンター押しておきましょう
[root@95fefce8acae /]# yum install httpd
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:31:53 ago on Tue Jan 28 22:33:35 2020.
Dependencies resolved.
~~(省略)~~
##Apacheサービスの起動とステータスの確認
###1.systemctl start httpd
###2.systemctl status httpd
さっそく起動してちゃんと状態が active になっているか確認します。
[root@95fefce8acae /]# systemctl start httpd
[root@95fefce8acae /]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor pres>
Active: active (running) since Tue 2020-01-28 23:08:21 UTC; 9s ago
Docs: man:httpd.service(8)
Main PID: 217 (httpd)
Status: "Running, listening on: port 80"
Tasks: 213 (limit: 6068)
##ブラウザで確認してみよう!
冒頭で説明したやり方でパブリックIDをコピーしてブラウザに打ち込んでみよう。
apacheのデフォルトページが表示されていればOKです。