安装docker
Centos 6
yum install docker-engine-1.7.1-1.el6.x86_64.rpm
Centos 7
1.有外网情况下
先删除之前的安装包
yum remove docker docker-commondocker-selinux docker-engine –y
配置官方yum源
yum install -y yum-utilsdevice-mapper-persistent-data lvm2
由于科学上网,使用阿里的镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-edge
yum-config-manager --enabledocker-ce-testing
yum-config-manager --disable docker-ce-edge
yum erase docker-engine-selinux -y
yum makecache fast
安装docker-ce
yum install docker-ce -y
缺哪个yum哪个,如果连不了外网需要调yum代理,在/etc/yum.repo.d下复制进docker-ce.repo,代理到外网服务器
2.无外网
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
yum install docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm
下面6、7相同
由于科学上网,需要编辑/etc/docker/daemon.json文件,否则无法下载image镜像
加入
{
"registry-mirrors":["https://registry.docker-cn.com"]
}
service docker start
示例一:部署javaweb服务
基于commit
docker pullcentos 下载centos基础镜像到本地
docker run –itcentos /bin/bash 以交互方式运行命令行
这时候就进入容器内了,可以将需要的安装包scp进来,要先安装scp
yuminstall openssh-clients
cd~
scp….tar.gz ./
然后安装就可以了
或者 run时候加入参数 dockerrun –it –v /download/:/mnt/software/ centos /bin/bash
将宿主机的/download文件夹绑定到容器的/mnt/software下,那么就不用scp了,直接去/mnt/software下拿安装包就行了
后面省略一些安装以及环境变量等。。
vi /root/run.sh
然后,编辑脚本内容如下:
#!/bin/bash
source /etc/profile
sh /opt/tomcat/apache-tomcat-7.0.57/bin/catalina.sh run
:wq
chmod u+x /root/run.sh
exit退出
查看刚才的image
docker ps –a
-a可查看关闭的image
看到刚才的id
docker commit 89a47b5b749e myjavaweb:0.1
docker commit 刚才的id 新的镜像名字
docker run -d -p 58080:8080 --name java webmyjavaweb:0.1 /root/run.sh
访问58080可以看到页面
如需要部署到其他服务器,可save成压缩文件或push到私有镜像仓库
通过dockerfile
vi Dockerfile
#基于centos镜像
FROM centos
MAINTAINER [email protected]
#复制jdk和tomcat的安装包到镜像内
ADD ./apache-tomcat-7.0.70.tar.gz /root
ADD ./jdk-7u80-linux-x64.tar.gz /root
#配置环境变量
ENV JAVA_HOME /root/jdk1.7.0_80
ENV PATH $JAVA_HOME/bin:$PATH
#设置启动命令
ENTRYPOINT/root/apache-tomcat-7.0.70/bin/startup.sh && tail -F /root/apache-tomcat-7.0.70/logs/catalina.out
构建镜像
docker build -t test/centos:tomcat-centos--rm=true
-t选择指定生成镜像的用户名,仓库名和tag
--rm=true指定在生成镜像过程中删除中间产生的临时容器。
查看镜像
docker images test/centos
运行镜像
docker run -d -p 8090:8080 test/centos
http://ip:8090查看tomcat首页
habor插件部署
简介:
企业级私有镜像仓库
安装docker-compose
curl -Lhttps://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname-s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
复制文件包下的harbor-offline-installer-v1.3.0-rc1.tgz到服务器,
解压并load到docker
tar -zxvfharbor-offline-installer-v1.3.0-rc1.tgz
cd harbor
修改配置文件vi harbor.cfg
更改hostname
hostname = …
保存
./install.sh
能看到登录页面 用户名admin 密码默认密码Harbor12345
测试登录
docker login 172.16.68.90
Username: admin
Password:
Login Succeeded
测试上传镜像:
web界面创建项目-elk:
查看ELK相关镜像:
[root@node-131 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
...
gcr.io/google-containers/elasticsearch v5.6.4 856b33b5decc 4 days ago 877MB
docker.elastic.co/kibana/kibana 5.6.4 ec9ec2836846 2 weeks ago 675MB
alpine 3.6 053cde6e8953 3 weeks ago 3.96MB
gcr.io/google-containers/fluentd-elasticsearch v2.0.2 38ec68ca7d24 3 weeks ago 135MB
...
给这些镜像贴上tag(格式:仓库地址/项目/镜像名:版本):
docker taggcr.io/google-containers/elasticsearch:v5.6.4 \
172.16.68.90/elk/elasticsearch:v5.6.4
上传镜像
docker push 172.16.68.90/elk/elasticsearch:v5.6.4
web能看到
另一台测试下载
Login之后
docker pull 172.16.68.90/elk/elasticsearch:v5.6.4
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
...
172.16.68.90/elk/elasticsearch v5.6.4 856b33b5decc 4 days ago 877MB
至此harbor搭建完成