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