Docker+Nginx配置后台服务发布

2022-09-15 17:19:43 浏览数 (1)

有两种方式,一种通过docker容器安装,一种是直接安装, 这里我们通过docker服务安装

常用操作

常用操作

  1. images是查询当前机器上所有的镜像有哪些
代码语言:txt复制
docker images
  1. 删除镜像
代码语言:txt复制
docker rmi [MAGE ID ]
  1. 可以查当前运行中的容器
代码语言:txt复制
docker ps -a
  1. 开始/停止/删除容器
代码语言:txt复制
docker start [CONTAINER ID]
docker stop [CONTAINER ID]
docker rm [CONTAINER ID]
  1. 构建一个docker的镜像文件(-t指定要创建的目标镜像名,注意最后有个”."用来指定Dockerfile的绝对路径)
代码语言:txt复制
docker build -t hellogin -f Dockerfile .

build指定版本

代码语言:txt复制
docker build -t ordersystem:1.2 -f Dockerfile .
  1. run镜像 基本命令
代码语言:txt复制
docker run --name=hellogin -d -p 9020:8000 hellogin

让本地和远程共享文件

代码语言:txt复制
docker run --name=ordersystem -d -p 9020:8000 -c "tail -f /dev/null" -v /usr/local/service/ordersystem:/usr/local/service/ordersystem ordersystem:1.2
  1. docker exec命令能够在运行着的容器中执行命令 docker ps -a 查看容器id
代码语言:txt复制
docker exec -it ffcb1d91e28f /bin/sh
  1. 查看容器ip地址
代码语言:txt复制
docker inspect --format='{{.NetworkSettings.IPAddress}}' hellogin
```ocker inspect --format='{{.NetworkSettings.IPAddress}}' hellogin
代码语言:txt复制

安装操作

rpm和yum区别和联系以及apt-get

apt-get属于ubuntu、Debian的包管理工具

yum则属于Redhat、Centos包管理工具

1. 安装docker

普通linux系统

代码语言:txt复制
yum -y install docker

遇到问题用

代码语言:txt复制
yum -y --skip-broken install docker

然后用

代码语言:txt复制
docker pull golang:alpine3.13

在腾讯的系统上用

代码语言:txt复制
yum install docker-ce docker-ce-cli containerd.io -y

启动补了的话用

代码语言:txt复制
sudo service docker restart

2.安装vim

docker的Nginx容器中没有vim命令,需要自行安装

代码语言:txt复制
apt-get update

apt-get install vim

3. 安装nginx

  1. 直接安装Nginx docker pull nginx
  2. nginx直接映射80端口,方便之后映射域名 docker run --name=nginx -d -p 80:80 nginx

完整操作如下,接下来我们来拆解思路

代码语言:txt复制
4  2022-03-28 19:58:32 cd /usr/local/

5  2022-03-28 19:58:32 ls

6  2022-03-28 19:58:47 mkdir service

7  2022-03-28 19:58:50 cd service/

8  2022-03-28 19:58:50 ls

9  2022-03-28 19:58:54 rz

10  2022-03-28 19:59:23 ls

11  2022-03-28 19:59:58 yum -y install docker

12  2022-03-28 20:01:09 yum -y --skip-broken install docker

13  2022-03-28 20:01:23 docker pull golang:alpine3.13

14  2022-03-28 20:01:39  chmod 777 hellogin

15  2022-03-28 20:01:55 docker build -t hellogin -f Dockerfile .

16  2022-03-28 20:02:04 ls

17  2022-03-28 20:02:14 docker images

18  2022-03-28 20:02:38 docker run --name=hellogin -d -p 9020:8000 hellogin

19  2022-03-28 20:04:47 docker pull nginx

20  2022-03-28 20:04:58 docker run --name=nginx -d -p 80:80 nginx

21  2022-03-28 20:05:05 docker inspect --format='{{.NetworkSettings.IPAddress}}' hellogin

22  2022-03-28 20:05:17 docker exec -it nginx /bin/bash 

23  2022-03-28 20:13:27 ps

24  2022-03-28 20:15:36 docker restart nginx

一. 登录到机器,安装docker

代码语言:objective-c复制

11 2022-03-28 19:59:58 yum -y install docker

12 2022-03-28 20:01:09 yum -y --skip-broken install docker

13 2022-03-28 20:01:23 docker pull golang:alpine3.13

代码语言:txt复制
## 二. 上传到机器

进入/usr/local/,创建service,并且将Dockerfile和hellogin上传到service

```objc
代码语言:txt复制
4  2022-03-28 19:58:32 cd /usr/local/

5  2022-03-28 19:58:32 ls

6  2022-03-28 19:58:47 mkdir service

7  2022-03-28 19:58:50 cd service/

8  2022-03-28 19:58:50 ls

9  2022-03-28 19:58:54 rz

10  2022-03-28 19:59:23 ls

三. 用docker发布hellogin

  1. 修改包权限 chmod 777 hellogin (是否需要777可以根据自身需求), 构建一个docker的镜像文件(-t指定要创建的目标镜像名,注意最后有个”."用来指定Dockerfile的绝对路径)docker build -t hellogin -f Dockerfile .docker images
  2. 查看所有的镜像
image.pngimage.png
  1. 查看当前镜像 docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 853c6e86eee6 nginx "/docker-entrypoint.…" 2 weeks ago Up 44 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp mynginx 602e73e44d10 4247aed57ff5 "./ordersystem" 2 weeks ago Exited (2) 37 seconds ago
  2. 运行镜像生成容器( d表示运行在后台,-p表示绑定到指定的主机端口)docker run --name=hellogin -d -p 9020:8000 hellogin
代码语言:txt复制

四. 反向代理

有两种方式,一种是通过docker容器安装,一种是直接安装。

docker pull nginx直接安装Nginx

docker run --name=nginx -d -p 80:80 nginx直接映射80端口,方便之后映射域名

  1. 查询容器IP地址docker inspect --format='{{.NetworkSettings.IPAddress}}' hellogin
image.pngimage.png
  1. 进入nginx,配置代理文件docker exec -it nginx /bin/bash `进入Nginx容器中,配置代理文件
  2. 文件在etc/nginx/目录下,可以进入conf.d目录配置default.conf文件
image.pngimage.png
  1. 按照上面配置完成后, exit退出容器,docker restart nginx重启容器,之后就可以通过域名直接访问了

0 人点赞