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
抢购网基础服务搭建
- 切换镜像仓库源
将docker镜像仓库切换为阿里云加速的镜像仓库,为了提高下载速度
参见切换阿里云加速的镜像仓库的文档
- 利用xftp将dockerfiles-master
a.首先需要在/home/saber下新建mytools文件夹
mkdir mytools
b.如果使用root用户创建,而连接Ubuntu使用saber用户,此时需要修改权限
chmod 777 mytools
c.利用xftp工具将dockerfiles-master上传至mytools下
- 执行shell脚本
- 进入到dockerfiles-master所在的目录下
- 修改三个shell脚本的权限
chmod 777 *.sh
- 执行./im-1.sh all n 此时会去联网拉取镜像
(需要几个小时,非常慢建议使用搭好的环境)
可能出现的问题:
- jdk链接出问题修改去jdk相关的Dockerfile中修改jdk下载链接
- 下载单独某个镜像
./im-1.sh yi/centos-activemq5.15.2 n ../src/activeMQ5.15.2
- 执行./InitContainers-2.sh init
创建相关容器
- 配置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;
- 通过redis图形界面连接redis
- 配置nginx
- 在本机的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