1,安装 docker

yum install docker

使用Docker 中国加速器

vim  /etc/docker/daemon.json

添加下面代码

{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}

(这个文件 初始状态是空的 只有“{}”)

启动服务

systemctl start docker

systemctl restart docker --重启

systemctl stop docker    --停止

查看版本

 docker version

查看状态

service docker status 

2,安装nginx

配置Nginx最新源

vim /etc/yum.repos.d/nginx.repo

添加下列内容

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

执行安装

yum install nginx

启动服务

systemctl start nginx

systemctl restart nginx --重启

systemctl stop nginx    --停止

啥也不显示表示正常启动,如显示

表示启动出错,看这里解决 https://blog.csdn.net/a1007720052/article/details/82255226

输入http://服务器IP/ 如果能看到nginx的界面,就表示安装成功了

3,把项目推送到docker hub

需要先执行 docker login 登录到 docker hub
docker push ejiyuan/demo-docker

命令后面的 image tag 必须是 docker hub 用户名 + “/” + 项目名称形式,如果“/”与当前登录的用户名不对应 会提示没有权限

Error response from daemon: pull access denied for io/webapp, repository does not exist or may require 'docker login'

你可以使用下列命令修改镜像tag名称后再进行推送

docker tag io/webapp ejiyuan/webapp

4,从docker hub 中拉取 项目 docker image

在你需要部署的服务上安装docker 先执行 docker login 登录到 docker hub 然后执行下列命令拉取镜像到你的服务器上

docker pull ejiyuan/demo-docker

docker pull [image 名称]

5,启动 docker运行镜像服务

查看镜像文件

运行镜像到容器中:

docker run -p 127.0.0.1:: -t docker.io/ejiyuan/demo-docker

docker之进入启动容器查看目录结构:docker exec -it containerID /bin/bash 或 docker exec -it containerID /bin/sh

这里我不想将9000端口暴露给外网(所有请求都从nginx,映射过来,也就是仅对往外开放80端口)所有限定ip:127.0.0.1,如果你既想实现通过指定域名访问,又想通过外部 “ip+端口” 访问,这里去掉127.0.0.0即可

检查是否正常运行:

方法1,使用curl透一下:

我的默认控制器会返回 hello Docker World

方法2,检查服务运行状态

方法3,使用 docker ps命令查看运行的容器

6,配置nginx:

 vim /etc/nginx/nginx.conf

修改或添加一个server标签

    server {
listen default_server;
listen [::]: default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page /.html;
location = /40x.html {
}
error_page /50x.html;
location = /50x.html {
}
}
#下面是自定义配置 端口转发
server {
listen ;
server_name www.abc.com;# 这里配置我们的域名,确定域名已解析到本机
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:; #转发到本机9000端口
}
}

重启nginx:

systemctl restart nginx

在浏览器访问你的域名 www.abc.com

查看 docker项目容器运行日志

7,参考文档

docker nginx实现一个主机部署多个站点

在Docker容器环境中用Let's Encrypt部署HTTPS

为 docker 中的 nginx 配置 https

「Spring Boot」Docker配置SSL证书(免费证书)

Docker容器应用日志查看

Nginx/Tengine服务器安装SSL证书

关于Docker目录挂载的总结

docker之进入启动容器查看目录结构

最新文章

  1. Unable to open the physical file xxxx. Operating system error 2
  2. slide.js使用文档
  3. hdoj 5389 Zero Escape
  4. Android相关图书推荐
  5. psp开发------汉化插件
  6. Spring ProxyFactory
  7. [html]js打开指定页面
  8. [DeeplearningAI笔记]ML strategy_2_3迁移学习/多任务学习
  9. iphone6 plus导入联系人或者通讯录
  10. 网页设计入门<一>
  11. Centos 安装 Nginx 详细过程
  12. legend2---开发日志1(legend的数据库整体设计思路是什么)
  13. IO相关1(io类/流状态)
  14. Oracle11g温习-第九章:表空间和数据文件管理
  15. php隐藏WEBSHELL技巧
  16. css3中outline切换动画效果
  17. oracle数据库基本命令
  18. python 案例一(电话铺)
  19. c语言描述的快速排序法
  20. Struts基本原理 + 实现简单登录(二)

热门文章

  1. mysql 索引查询 、创建 create index 与 add index 的区别
  2. 《Spring实战》读书笔记——如何实现自动化装配
  3. npm install详解
  4. 51单片机---点亮一个LED灯
  5. 你好git
  6. hive最全学习线路和实践练习
  7. Java Web 学习笔记 1
  8. 文件IO 相关的包:java.io文件——API
  9. 软件开发者路线图梗概&书摘chapter7
  10. Incjector