Docker安装配置

images下载地址   :   https://dev.aliyun.com/search.html

Ubuntu(16.04.3)

安装本地版本:apt-get install -y docker.io

启动服务 : service docker start(管理员用户)

查看版本:docker -v 或者docker --version

查看镜像:docker images

搜索镜像:docker search images名

下载镜像:docker pull 路径

删除镜像:docker rmi 

生成容器:docker run -d -p 8888:8080 --name tomcat-newname tomcat

查看容器:docker ps|grep或者docker ps -a查看全部

进入容器:docker exec -it tomcatname或者id /bin/bash

启动容器:docker start 容器名称或id

停止容器:docker stop 容器名称或id

删除容器:docker rm 容器名称或id

拷贝文件:docker cp 宿主机文件 容器名称:容器目录               docker cp index.html mytomcat:/usr/webapps/

固定ip :

创建网络,指定ip网段  : docker network create --subnet=172.18.0.0/16 mynetwork

创建容器,指定ip  : docker run -it -d --net mynetwork --ip 172.18.0.8 --name mytomcat(自取名) tomcat(镜像地址和名)

查看所有容器的ip地址

docker inspect -format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq) //根据容器的image id查看所有的运行的容器的IP地址

 

DockerFile

文件名必须是Dockerfile

文件内容如下:

FROM 镜像名称

MAINTAINER kgc

COPY index.html /usr/tomcat/webapps/ROOT

EXPOSE 8080/tcp

到当前目录下执行docker build -t mytomcat .创建一个镜像文件mytomcat

Dockerfile定制镜像

 常用的命令:

FROM :依赖的底层镜像

    MAINTAINER :指定镜像创建者

    ENV : 设置环境变量

    RUN :运行shell命令

    COPY : 将编译机本地文件拷贝到镜像文件系统中,源路径不能使用绝对路径

    EXPOSE : 指定监听端口

ENTRYPOINT :与执行命令,创建容器并启动后才执行

编写一个简单的Dockerfile文件:apt-get install vim(ubuntu安装vim编辑器)

a.在/home/kgc/DockerFiles目录下编写一个Dockerfile文件

    # 依赖的底层镜像

    FROM registry.cn-hangzhou.aliyuncs.com/shuodao/tomcat-8.5.27

    # 镜像的创建者

    MAINTAINER kgc

    # 拷贝文件到容器中的tomcat

    COPY  img/1.jpg  /usr/tomcat/webapps/ROOT/

    # 运行一个容器时监听的端口

    EXPOSE 8080

 b.在/home/kgc下面使用以下命令制作镜像

   docker build -t 制作的镜像名 Dockerfile文件的路径

 c.使用新建的镜像启动一个容器,将容器的8080映射到物理机的80端口

   docker run -d -p 80:8080 --name newTomcat mytomcat

Docker可视化工具shipyard安装

a.拉取镜像

    docker pull rethinkdb

    docker pull microbox/etcd

    docker pull shipyard/docker-proxy

    docker pull swarm

    docker pull shipyard/shipyard

b.执行六条指令启动 swarm和shipyard //必须使用docker0 网卡

docker run -ti -d --restart=always --name shipyard-rethinkdb rethinkdb

docker run -ti -d -p 4001:4001 -p 7001:7001 --restart=always --name shipyard-discovery microbox/etcd:latest -name discovery

docker run -ti -d -p 2375:2375 --hostname=$HOSTNAME --restart=always --name shipyard-proxy -v /var/run/docker.sock:/var/run/docker.sock -e PORT=2375 shipyard/docker-proxy:latest

docker run -ti -d --restart=always --name shipyard-swarm-manager swarm:latest manage --host tcp://0.0.0.0:3375 etcd://172.17.0.1:4001

docker run -ti -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 172.17.0.1:2375 etcd://172.17.0.1:4001

docker run -ti -d --restart=always --name  shipyard-controller --link shipyard-rethinkdb:rethinkdb --link shipyard-swarm-manager:swarm -p 8080:8080 shipyard/shipyard:latest server -d tcp://swarm:3375

  

访问:192.168.219.131:8080 

     这里的IP地址是安装的ubuntu宿主机的IP

默认账户和密码: admin

shipyard

抢购网基础服务搭建

  1. 切换镜像仓库

将docker镜像仓库切换为阿里云加速的镜像仓库,为了提高下载速度

  参见切换阿里云加速的镜像仓库的文档

  1. 利用xftp将dockerfiles-master

      a.首先需要在/home/saber下新建mytools文件夹

    mkdir mytools

  b.如果使用root用户创建,而连接Ubuntu使用saber用户,此时需要修改权限

    chmod 777 mytools

  c.利用xftp工具将dockerfiles-master上传至mytools下

  1. 执行shell脚本
  1. 进入到dockerfiles-master所在的目录下
  2. 修改三个shell脚本的权限

chmod 777 *.sh

  1. 执行./im-1.sh all n 此时会去联网拉取镜像

(需要几个小时,非常慢建议使用搭好的环境)

         可能出现的问题:

  1. jdk链接出问题修改去jdk相关的Dockerfile中修改jdk下载链接
  2. 下载单独某个镜像

./im-1.sh  yi/centos-activemq5.15.2  n  ../src/activeMQ5.15.2

  1. 执行./InitContainers-2.sh init

创建相关容器

  1. 配置mysql

    a.修改root密码

     use mysql

     update user set password=password("123") where user="root";

     flush privileges;

 

b.mysql授权远程连接

     grant all privileges on *.* to root@'%' identified by '123' with grant option;

 

  1. 通过redis图形界面连接redis
  2. 配置nginx
  1. 在本机的hosts文件中中配置IP和域名映射

    192.168.219.132 jira.local.com

    192.168.219.132 mq.local.com

    192.168.219.132 confluence.local.com

    192.168.219.132 da.local.com

    192.168.219.132 jenkins.local.com

    192.168.219.132 api.local.com

    192.168.219.132 eureka.local.com

    192.168.219.132 konga.local.com

    192.168.219.132 nexus.local.com

    192.168.219.132 goods.local.com

    192.168.219.132 order.local.com

    192.168.219.132 user.local.com

        192.168.219.132 aliPay.local.com

 

b.访问Duboo服务

     da.local.com

 

c.启动activemq的服务才能查看

    进入 /usr/local/apache-activemq-5.15.2/bin

    执行 ./activemql start/stop

    ps -ef|grep mq

  

d.查看zookeeper是否启动

    进入/usr/local/zookeeper-3.4.11/bin

    执行 ./zkServer.sh start/stop

 

ps -ef|grep zoo

 

猜你喜欢

转载自blog.csdn.net/qq_42237676/article/details/81262128