docker笔记

封装基础镜像
docker run –name v1 -it rhel7 bash
cd /etc/yum.repos.d/
vim yum .repo
[yum]
name=rhel7.3
baseurl=http://172.25.10.250/rhel7.3
gpgcheck=0
rm -fr redhat.repo

ctrl p + q

rpmdb –rebuilddb


docker rm docker ps -aq

docker run -it –name vm1 ubuntu bash

ip addr del 172.17.0.2/16 dev eth0 ##拒绝

docker stop vm1
docker rm vm1

docker run -it –privileged=true –name vm1 ubuntu bash
ip addr del 172.17.0.2/16 dev eth0 ##ok

docker stop vm1
docker rm vm1

docker run -it –cap-add=NET_ADMIN –name vm1 ubuntu
bash
[root@foundation0 ~]# docker inspect -f {{.HostConfig.Privileged}} vm1
false
[root@foundation0 ~]# docker inspect -f {{.HostConfig.CapAdd}} vm1


#
compose负载均衡
#

[root@docker ~]# mv docker-compose-Linux-x86_64-1.16.1 /usr/local/sbin/
[root@docker ~]# cd /usr/local/sbin/
[root@docker sbin]# ln -s docker-compose-Linux-x86_64-1.16.1 docker-compose
[root@docker sbin]# chmod +x docker-compose

[root@docker ~]# mkdir compose
[root@docker ~]# cd compose/
[root@docker compose]# vim docker-compose.yml

apache:
build: ./web
expose:
- 80
nginx:
image: nginx
expose:
- 80
haproxy:
image: haproxy
volumes:
- ./haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro
links:
- apache
- nginx
ports:
- “80:80”
expose:
- “80”
~
~
[root@docker compose]# mkdir web
[root@docker compose]# cd web
[root@docker web]# pwd
/root/compose/web
[root@docker web]# vim Dockerfile
FROM rhel7:v1
MAINTAINER 1904168391@qq.com
ENV HOSTNAME apache
EXPOSE 80
RUN yum -y install httpd
COPY index.html /var/www/html/index.html
CMD [“/usr/sbin/httpd”,”-D”,”FOREGROUND”]

[root@docker web]# echo “hello,world” >index.html
[root@docker web]# ls
Dockerfile index.html
[root@docker web]# pwd
/root/compose/web

[root@docker web]# cd ..
[root@docker compose]# pwd
/root/compose
[root@docker compose]# mkdir haproxy
[root@docker compose]# cd haproxy/
[root@docker haproxy]# vim haproxy.cfg

global
log 127.0.0.1 local0
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
stats uri /status
frontend balancer
bind 0.0.0.0:80
default_backend web_backends
backend web_backends
balance roundrobin
server web1 apache:80 check
server web2 nginx:80 check

[root@docker haproxy]# cd ..
[root@docker compose]# ls
docker-compose.yml haproxy web

[root@docker compose]# docker-compose up

[root@docker compose]# docker-compose start

docker swarn

准备两台7.3docker 开启,时间同步 docker3,docker4
load nginx镜像

#

swarm docker 容器高可用

#

[root@docker compose]# docker swarm init

[root@docker3 ~]# docker swarm join –token SWMTKN-1-18rdmlwd9lka6s0az8wb5qa3lgq28umk4e7a0pf9jsm7s2exgh-3zmxi77ywpp4zi5vrmibgeoev 172.25.10.1:2377

[root@docker4 ~]# docker swarm join –token SWMTKN-1-18rdmlwd9lka6s0az8wb5qa3lgq28umk4e7a0pf9jsm7s2exgh-3zmxi77ywpp4zi5vrmibgeoev 172.25.10.1:2377

[root@docker compose]# docker service create –name web –publish 80:80 –replicas 4 nginx

[root@docker ~]# docker service ps web

[root@docker ~]# docker service scale web=num

浏览器:172.25.10.1


[root@docker ~]# docker load -i visualizer.tar
[root@docker ~]# docker service create –name=viz –publish=8080:8080/tcp –constraint=node.role==manager –mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock dockersamples/visualizer

[root@docker ~]# docker service scale web=30

浏览器:172.25.10.1:8080


更新httpd
封装一个apache
vim Dockerfile
FROM rhel7:v1
MAINTAINER 1904168391@qq.com
ENV HOSTNAME apache
EXPOSE 80
RUN yum -y install httpd
CMD [“/usr/sbin/httpd”,”-D”,”FOREGROUND”]

docker build -t rhel7:v2 .
docker save rhel7:v2 >rhel7.tar
scp rhel7.tar root@172.25.10.3:~
scp rhel7.tar root@172.25.10.4:~

docker service update –update-parallelism 2 –update-delay 2s –update-failure-action rollback –image rhel7:v2 web

l

[root@docker ~]# docker load -i flask.tar
[root@docker ~]# vim test.py
from flask import Flask

    import os

    app = Flask(__name__)

    @app.route("/")

    def env():
       return os.environ["HOSTNAME"]

    app.run(host="0.0.0.0")

[root@docker ~]# docker run -d –name test -v /root/test.py:/test.py python:flask python /test.py

[root@docker ~]# curl 172.17.0.2:5000
9fe8a921b493

[root@docker ~]# docker stop test
test

[root@docker ~]# docker rm test
test

[root@docker ~]# docker run -it –name test python:flask
Python 2.7.11 (default, Mar 24 2016, 09:47:20)
[GCC 4.9.2] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.

ctrl q p

[root@docker ~]# docker container cp test.py test:/
[root@docker ~]# docker container exec test ls /
test.py

[root@docker ~]# docker container commit test python:demo
[root@docker ~]# docker images

[root@docker ~]# docker save python:demo > demo.tar 保存
[root@docker ~]# scp demo.tar root@172.25.10.3:~
[root@docker ~]# scp demo.tar root@172.25.10.4:~

[root@docker3 ~]# docker load -i demo.tar

[root@docker4 ~]# docker load -i demo.tar

[root@docker ~]# docker service create –replicas 3 –publish 80:5000 python:demo python /test.py

[kiosk@foundation10 Desktop]$ for i in {1..20}; do curl -w “\n” 172.25.10.1; done

e06209491de1
06ba47135b5e
c52d01f68b20

e06209491de1
06ba47135b5e
c52d01f68b20

e06209491de1
06ba47135b5e
c52d01f68b20

e06209491de1
06ba47135b5e
c52d01f68b20
e06209491de1
06ba47135b5e
c52d01f68b20
e06209491de1
06ba47135b5e
c52d01f68b20
e06209491de1
06ba47135b5e

[root@docker ~]# docker service scale affectionate_swirles=10 ##忘了命名了


[root@docker ~]# docker service rm affectionate_swirles
[root@docker ~]# docker service create –name web -p 80:80 –replicas 3 nginx
[kiosk@foundation10 Desktop]$ curl 172.25.10.1
nginx默认页

[root@docker ~]# docker service update –mount-add type=bind,source=/root/web,target=/usr/share/nginx/html web
www

在docker,家目录下新建web
web 里边index.html –hello

docker3家目录下新建web
web 里边index.html –hello hello

docker4家目录下新建web
web 里边index.html –hello hello hello

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值