LoginSignup
3
1

More than 3 years have passed since last update.

[AWS]EC2にdockerを入れてapacheを導入する作業

Posted at

AWSのEC2を建ててdockerを入れてその上でapacheを起動させてみます。

インスタンスへSSH

まずはインスタンスへSSHします。

windowsの場合

Tera Teamをインストール後起動
aws.png
赤枠にAWS→EC2→インスタンス→IPv4 パブリック IPのアドレスを入力

aws2.png

上の赤枠:ec2-userはAmazon Linux を使っている場合
下の赤枠:.pemが置かれているパスを通す

aws3.png
繋がりました!

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です。

aws4.png

3
1
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
3
1