docker的安装及常用命令,nigix和uwsgi的配置使用

一、安装docker

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

 $ uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

$ sudo yum update

3、卸载旧版本(如果安装过旧版本的话)

$ sudo yum remove docker  docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

5、设置yum源

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

 

 

6、可以查看所有仓库中所有docker版本,并选择特定版本安装

$ yum list docker-ce --showduplicates | sort -r

 

7、安装docker

$ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0

$ sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce

 

 

8、启动并加入开机启动

$ sudo systemctl start docker

$ sudo systemctl enable docker

9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

$ docker version

 

 

 二、问题

1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:

Transaction check error:

  file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

  file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

  file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

  file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

2、卸载旧版本的包

$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

 

3、再次安装docker

$ sudo yum install docker-ce

 

⚠️:国外镜像一般很难访问,建议配置阿里云镜像。yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

三 基于Docker安装nginx

基于docker安装nginx

1.查找镜像并拉取镜像

$ sudo docker search nginx

$ sudo docker pull nginx

$ sudo docker images nginx

  1. 运行nginx:
  2. 安装完成后,我们可以使用以下命令来运行 nginx 容器

参数说明:

  • --name nginx-test:容器名称。
  • -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
  • -d nginx: 设置容器在在后台一直运行。

docker run -d -p 8083:80 --name ngix-8083 nginx

  1. 停止关闭一个正在运行的容器

root@autotest ~]# docker stop ngix-8000

ngix-8000

[root@autotest ~]#

docker restart  ngix-8000

问题:老是关闭防火墙太麻烦,所以选择彻底关闭防火墙,发现每次都记不住命令!

下面是red hat/CentOs7关闭防火墙的命令!

1:查看防火状态

systemctl status firewalld

service  iptables status

2:暂时关闭防火墙

systemctl stop firewalld

service  iptables stop

3:永久关闭防火墙

systemctl disable firewalld

chkconfig iptables off

4:重启防火墙

systemctl enable firewalld

service iptables restart  

5:永久关闭后重启

//暂时还没有试过

chkconfig iptables on

3.1 假如遇到镜像起不来

docker run -d -p 8080:80 --name ngix-guo2 nginx

重启docer

systemctl restart docker

3.1.1 Docker 拉取 报错【error pulling image configuration】及镜像下载慢问题

 出现这个问题原因为网络问题,无法连接到 docker hub。 但国内有 daocloud加速,docker指定该源即可

echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io\"" | sudo tee -a /etc/default/docker

DOCKER_OPTS="$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io"

镜像下载慢问题:
  vi /etc/docker/daemon.json

添加一下内容:

{

  "registry-mirrors": ["https://hccwwfjl.mirror.aliyuncs.com"]

}

 

重新启动Docker
systemctl restart docker

3.2 docker 常用命令

3.2.1 删除容器

删除容器:

docker rm -f +容器名称

3.2.2 删除镜像

  Docker rmi +镜像名称

3.2.3 重启docker

systemctl restart docker

3.2.4 查看运行的容器

docker ps

3.2.5 查看容器

docker container ls -a

3.2.6 进入容器

 docker exec -it kafka1 /bin/bash

注意:kafka1 是容器的名称

  1. linux下安装uWsgi

安装命令:

pip install uwsgi

    1.  uwsgi 的安装

配置文件:

#表示uwsgi模块
[uwsgi]
#项目目录
chdir=/opt/AutomationPlatform/
#指定项目的应用,固定写法,承接上面的项目目录
module=AutomationPlatform.wsgi:application
#sock文件存放目录,方便nginx进行sock连接交互
socket=/opt/AutomationPlatform/script/uwsgi.sock
#并发进程
workers=5
#进程id存放文件
pidfile=/opt/AutomationPlatform/script/uwsgi.pid
#启动的ip及端口
http=192.168.12.175:8000
#静态文件映射,第一个等于代表Django里面的别名,第二个等于后面是Django里面的真实路径
#static-map=/static=/opt/AutomationPlatform/frontend/static/
#启动的用户和组
uid=root
gid=root
#启用主进程
master=true
#自动移除unixSocket和pid文件当服务停止的时候
vacuum=true
#序列化接受的内容,如果可能的话
thunder-lock=true
#启用线程
enable-threads=true
#设置自中断时间
harakiri=36000
#设置缓存
post-buffering=4096
#日志存放目录,方便拍错
daemonize=/opt/AutomationPlatform/script/uwsgi.log

#5.2 启动配置文件uwsgi

uwsgi  --ini uwsgi.ini

# 启动 uwsgi --ini uwsgi.ini # 关闭 uwsgi --stop uwsgi.pid

5.3 安装nginx,配置yum源

文件名称:

/etc/yum.repos.d//etc/yum.repos

配置文件内容:

[nginx]

name=nginx repo

#下面这行centos,根据你自己的操作系统修改比如:os/rehel

baseurl=http://nginx.org/packages/centos/7/$basearch/

gpgcheck=0

enabled=1

5.3.1 配置好yum源后,执行安装命令

yum -y install nginx

如下图即安装完成:

 

5.3.2 增加nginx配置文件

放配置文件的路径:

/etc/nginx/conf.d/AutomationPlatform.conf

配置内容:


user  nginx;
worker_processes  auto;

error_log  /opt/AutomationPlatform/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /opt/AutomationPlatform/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
    server {
        listen       80;
        server_name  localhost;
 
        location / {
            root   /opt/AutomationPlatform/vue_test/dist;
            index  index.html index.htm;
            # 指定uwsgi的sock文件所有动态请求就会直接丢给他
            #:uwsgi_pass unix:/opt/AutomationPlatform/scripts/uwsgi.sock;
            #proxy_pass   http://192.168.12.175:8000;
        }
          location /api  {
                proxy_pass  http://192.168.12.175:8000;
        }

        # location
        # root: 将接收到的资源根据/usr/local/nginx/html/dist文件夹去查找资源
        # index: 默认去上述路径中找到index.html或者index.htm
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

     }

    include /etc/nginx/conf.d/*.conf;
}

启动nginx:/usr/sbin/nginx -s reload

重启:

./nginx -s reload

日志路径:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值