Docker安装

2019-01-30  本文已影响0人  紫陌红尘Oo

centos中使用docker

安装docker

1.安装前的准备工作

从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。

Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。

这里介绍 Docker CE 的安装使用。

2.首先删除之前的版本


yum remove docker \

                  docker-client \

                  docker-client-latest \

                  docker-common \

                  docker-latest \

                  docker-latest-logrotate \

                  docker-logrotate \

                  docker-selinux \

                  docker-engine-selinux \

                  docker-engine

4.安装一些必要的系统工具:


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

5.添加软件源信息 ,这里建议添加淘宝的


yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6.更新 yum 缓存 强烈建议 我上次忘了设置 结果 执行总是中断


yum makecache fast

7.安装过docker-ce


yum -y install docker-ce

8.启动docker服务


systemctl start docker

9注意事项

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决, 有很多镜像可以给大家选择 ,我这里 使用了三个镜像,大家可以参考一下

首先移动到 安装docker的文件目录下


cd /etc/docker/

ls

daemon.json

如果你没有看到 daemon.json 文件 ,那么请自己创建一个

该文件内容为


{

"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]

}

docker中创建tomcat的镜像

1.查找DockerHub的镜像


docker search tomcat

NAME                      DESCRIPTION                                    STARS    OFFICIAL  AUTOMATED

tomcat                    Apache Tomcat is an open source implementa...  744      [OK]     

dordoka/tomcat            Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 ba...  19                  [OK]

consol/tomcat-7.0          Tomcat 7.0.57, 8080, "admin/admin"              16                  [OK]

consol/tomcat-8.0          Tomcat 8.0.15, 8080, "admin/admin"              14                  [OK]

cloudesire/tomcat          Tomcat server, 6/7/8                            8                    [OK]

davidcaste/alpine-tomcat  Apache Tomcat 7/8 using Oracle Java 7/8 wi...  6                    [OK]

andreptb/tomcat            Debian Jessie based image with Apache Tomc...  4                    [OK]

kieker/tomcat                                                              2                    [OK]

fbrx/tomcat                Minimal Tomcat image based on Alpine Linux      2                    [OK]

jtech/tomcat              Latest Tomcat production distribution on l...  1                    [OK]

2.开始拉取镜像


docker pull tomcat

3.我们就可以在本地镜像列表里查到tomcat的镜像


docker images

REPOSITORY          TAG                IMAGE ID            CREATED            SIZE

tomcat              8.5.37-jre8        7ee26c09afb3        7 days ago          462MB

4.通过镜像文件来 创建一个容器对象


docker run --name tt -p 8088:8080 tomcat

  --name 为设置的别名

  -p  映射宿主机和容器的ip关系

  tomcat  为镜像的名字

平时需要在后台执行的时候 需要添加参数 -d

docker中创建nginx镜像 已经配置

1.首先查找nginx镜像


docker search nginx

2.然后拉取镜像


docker pull nginx

3.查看获取的镜像


docker images

4.启动nginx容器


docker run -d -p 80:80 nginx

使用宿主机配置文件启动镜像

1.创建一个挂载目录


mkdir -p /home/nginx/{conf,conf.d,html,logs}

2.编写nginx.conf配置文件,并放在文件conf夹中


user  nginx;

worker_processes  1;

error_log  /var/log/nginx/error.log warn;

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  /var/log/nginx/access.log  main;

    sendfile        on;

    #tcp_nopush    on;

    keepalive_timeout  65;

    #gzip  on;

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

    upstream tomcat_client {

        server t1:8080 weight=1;

        server t2:8080 weight=1;

    }

    server {

        server_name "";

        listen 80 default_server;

        listen [::]:80 default_server ipv6only=on;

        location / {

            proxy_pass http://tomcat_client;

            proxy_redirect default;

            proxy_set_header Host $host;

            proxy_set_header X-Real-IP $remote_addr;

        }

    }

}

其中 server 后需要设置的 tomcat 容器的别名 和容器的端口号

3.运行nginx容器


docker run --name mynginx -d -p 80:80  -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /home/nginx/logs:/var/log/nginx  nginx

遇到的问题

1.

如果启动后无法访问代理的tomcat 需要注意的是,因为tomcat也是容器,需要配置容器和容器之间的网络访问

需要创建一个 network


docker network create web_net

然后创建容器的时候指定网络


docker run -it --name t1 -p 8081:8080 -d -v /home/tomcat/webapps/:/usr/local/tomcat/webapps/  --network web_net --network-alias t1  tomcat

docker run -it --name t2 -p 8082:8080 -d -v /home/tomcat/webapps/:/usr/local/tomcat/webapps/  --network web_net --network-alias t2  tomcat

docker run --name myx -d -p 80:80  --network web_net --network-alias n1  -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /home/nginx/logs:/var/log/nginx nginx

2.

在容器安装软ping命令的方法

1


apt-get update

2


apt-get install iputils-ping

上一篇下一篇

猜你喜欢

热点阅读