docker run 和 docker-compose 配置挂载 Volume 并运行 nginx

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker run 和 docker-compose 配置挂载 Volume 并运行 nginx相关的知识,希望对你有一定的参考价值。

参考技术A 1.先在宿主机创建挂载目录:mkdir -p /data/nginx/conf,conf.d,html,logs

2.然后把文件 nginx.conf 文件放到 /data/nginx/conf/

3.把子配置文件 default.conf 放到 /data/nginx/conf.d/

4.弄一个 index.html 放到 /data/nginx/html/

5.nginx 日志会在运行后存到 /data/nginx/logs/ 目录

6.1 然后 docker run 直接运行 nginx:

6.2 另外如果用 docker-compose 或 swarm 起服务,docker-compose.yml 文件如下:

docker-compose up -d 启动服务

修改 nginx 配置文件后重新创建容器:docker-compose up -d --force-recreate

广告: 油囊

ubuntu18.04在线安装dockernvidia-docker2与docker-compos

技术图片

说明

由于项目测试需要,须安装如下版本的docker组建:

Docker:18.09.6
nvidia-docker2:18.09.6

部署 Docker

主要步骤如下:

(1)安装基础包
apt-get install -y apt-transport-https ca-certificates curl software-properties-common

(2)添加 apt-key
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add

(3)添加阿里云仓库
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" 

(4)查看当前库对应的 docker 可用的版本

apt-cache madison docker-ce

(5)安装 Docker:18.09.6
apt-get install -y docker-ce=5:18.09.6~3-0~ubuntu-bionic  docker-ce-cli=5:18.09.6~3-0~ubuntu-bionic

(6)查看 docker 版本
docker -v

安装 nvidia-docker(有nvidia-docker2才支持cuda10)

主要步骤如下:

(1)添加 apt-key
curl -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - &&
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) 

(2)添加阿里云仓库
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

(3)更新库
apt-get update

(4)查看当前库对应的 nvidia-docker2 可用的版本
apt-cache madison nvidia-docker2

(5)安装 nvidia-docker2
apt-get install -y nvidia-docker2  && pkill -SIGHUP dockerd

(6)查看 nvidia-docker 版本
nvidia-docker --version

安装 docker-compose

nvidia-docker2不支持nvidia-docker-compose,目前只能用docker-compose取代,通过配置daemon.json:default-runtime=nvidia

主要步骤如下:

(1)下载 docker-compose==1.24.0
curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

(2)授权
chmod +x /usr/local/bin/docker-compose

(3)查看 docker-compose 版本
docker-compose -version

(4)修改或添加 daemon.json 文件

确认下/usr/bin/nvidia-container-runtime是不是确定存在,存在的话,
将/etc/docker/daemon.json修改为:

{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
(5)重启 docker 服务
systemctl daemon-reload
systemctl restart docker

扩展

删除 docker 包

主要步骤如下:

#使用dpkg查询已安装包,针对性删除
#查询相关软件包
# dpkg -l | grep docker
ii  docker-ce                             5:18.09.6~3-0~ubuntu-bionic        amd64        Docker: the open-source application container engine
ii  docker-ce-cli                         5:18.09.6~3-0~ubuntu-bionic        amd64        Docker CLI: the open-source application container engine
ii  nvidia-docker2                        2.2.2-1                            all          nvidia-docker CLI wrapper
#删除docker
apt remove --purge docker-ce docker-ce-cli nvidia-docker2

说明:关于apt-get remove 与 apt-get purge区别,可见这篇文章~

参考文档

ubuntu16.04安装docker、nvidia-docker2、docker-compose、nvidia-driver

以上是关于docker run 和 docker-compose 配置挂载 Volume 并运行 nginx的主要内容,如果未能解决你的问题,请参考以下文章

Docker私有仓库Harbor安装和配置

docker-compose

CentOS安装docker-compose

docker mongodb

Docker-扩展服务

Docker容器高级篇