LoginSignup
3
3

More than 1 year has passed since last update.

Docker で Nginx サーバーを立てる

Last updated at Posted at 2018-08-14

VPS の Arch Linux に Nginx のサーバーを立てる方法です。

  1. Docker のインストール
  2. Arch Linux

    sudo pacman -S docker
    

    Ubuntu 23.04

    sudo apt install docker docker-compose
    
  3. Docker の起動
  4. ここからは、Ubuntu でも操作は同じです。

    sudo systemctl start docker
    
  5. Nginx のインストールと起動
  6. sudo docker run --name some-nginx -d -p 8080:80 nginx
    
  7. イメージの確認
  8. $ sudo docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    nginx               latest              c82521676580        2 weeks ago         109MB
    
  9. Nginx が動いていることを確認
  10. $ sudo docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
    dac02b07c2e4        nginx               "nginx -g 'daemon of…"   33 minutes ago      Up 33 minutes       0.0.0.0:8080->80/tcp   some-nginx
    
  11. ブラウザーで http://localhost:8080 にアクセス
  12. docker_aug1301.png

  13. docker コマンドを通常ユーザーで実行できるようにする

    ユーザー uchida で実行できるようにするには

    sudo gpasswd -a uchida docker
    

    システムの再起動が必要です。

  14. ssh でログインする
  15. $ docker exec -it some-nginx bash
    root@dac02b07c2e4:/#
    
  16. ログイン後 vim をインストールする
  17. apt update
    apt install vim
    
  18. index.html を編集する
  19. 日付を加えてみます。
    /usr/share/nginx/html/index.html
    <p><em>Thank you for using nginx.</em></p>
    <p>Aug/13/2018</p>
    </body>
    </html>
    
  20. ブラウザーでアクセス
  21. docker_aug1302.png

確認したバージョン

$ docker version
Client:
 Version:           23.0.1
 API version:       1.42
 Go version:        go1.20
 Git commit:        a5ee5b1dfc
 Built:             Sat Feb 11 13:58:04 2023
 OS/Arch:           linux/amd64
 Context:           default

Server:
 Engine:
  Version:          23.0.1
  API version:      1.42 (minimum version 1.12)
  Go version:       go1.20
  Git commit:       bc3805a0a0
  Built:            Sat Feb 11 13:58:04 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.6.19
  GitCommit:        1e1ea6e986c6c86565bc33d52e34b81b3e2bc71f.m
 runc:
  Version:          1.1.4
  GitCommit:        
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

コンテナーの停止と起動

$ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                   NAMES
0b643730642f   nginx     "/docker-entrypoint.…"   8 minutes ago   Up 2 minutes   0.0.0.0:8080->80/tcp, :::8080->80/tcp   some-nginx

$ docker stop 0b643730642f
0b643730642f

$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

$ docker start 0b643730642f
0b643730642f

$ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                   NAMES
0b643730642f   nginx     "/docker-entrypoint.…"   9 minutes ago   Up 2 seconds   0.0.0.0:8080->80/tcp, :::8080->80/tcp   some-nginx

ベースになっている OS

# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
3
3
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
3