Docker
1.拉取一个镜像 [root@localhost ~]# docker pull 10.30.5.120/docker/centos Using default tag: latest latest: Pulling from docker/centos Digest: sha256:dc29e2bcceac52af0f01300402f5e756cc8c44a310867f6b94f5f7271d4f3fec Status: Image is up to date for 10.30.5.120/docker/centos:latest 10.30.5.120/docker/centos:latest 2.创建一个容器(再前台运行的容器) [root@localhost ~]# docker run --name centos1 --rm -it 10.30.5.120/docker/centos /bin/bash [root@682712f2a2b8 /]# ifconfig bash: ifconfig: command not found [root@682712f2a2b8 /]# yum -y install net-tools //yum安装网络配置模块 [root@682712f2a2b8 /]# ifconfig //使用的时候可以查看ip地址 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.3 netmask 255.255.0.0 broadcast 172.17.255.255 ether 02:42:ac:11:00:03 txqueuelen 0 (Ethernet) RX packets 4846 bytes 11686752 (11.1 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3734 bytes 205329 (200.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 3.重新开启一个端口,提交为新的镜像 [root@localhost ~]# docker commit centos1 centos:net //提交为新的镜像 sha256:7f169f2499a9e3faa8dc0077d8f02e5bcc95f888354ed1dc200083e6c8eb1246 [root@localhost ~]# docker images //查看是否有新的镜像 REPOSITORY TAG IMAGE ID CREATED SIZE centos net 7f169f2499a9 4 seconds ago 289MB 10.30.5.120/docker/mysql 5.6 57640f2e70a1 13 months ago 217MB 10.30.5.120/docker/centos latest 75835a67d134 13 months ago 200MB
[root@localhost ~]# mkdir tomcat [root@localhost ~]# cd tomcat/ [root@localhost tomcat]# vim Dockerfile FROM 10.30.5.120/docker/java ADD apache-tomcat-8.5.35.tar.gz /opt VOLUME /opt/apache-tomcat-8.5.35/webapps CMD ["/opt/apache-tomcat-8.5.35/bin/catalina.sh","run"] [root@localhost tomcat]# docker build -t tomcat:1.1 ./ Sending build context to Docker daemon 9.646MB Step 1/4 : FROM 10.30.5.120/docker/java ---> d23bdf5b1b1b Step 2/4 : ADD apache-tomcat-8.5.35.tar.gz /opt ---> Using cache ---> a16a39d65441 Step 3/4 : VOLUME /opt/apache-tomcat-8.5.35/webapps ---> Using cache ---> d08937b5756b Step 4/4 : CMD ["/opt/apache-tomcat-8.5.35/bin/catalina.sh","run"] ---> Running in b9de9f9bce00 Removing intermediate container b9de9f9bce00 ---> e957e53f7e1d Successfully built e957e53f7e1d Successfully tagged tomcat:1.1 [root@localhost tomcat]# docker run --name tomcat -d -p 8080:8080 tomcat:1.1 //基于tomcat镜像创建了一个容器 0939d93d0952c9ae522fb0d93179050be7a2dbb59c7534c1ee5ec329b62f26dc

[root@localhost html]# docker run --name tomcat -d -p 8080:8080 -v /opt/html:/opt/apache-tomcat-8.5.35/webapps tomcat:1.1 b06ee8a6943cd162e25f834c2fa793d5bf63c587dc825f22c2729d1c66734a71
访问页面192.168.18.140:8080/solo 这是是错误的页面

修改以下内容

重启容器
出现以下页面就是成功上线solo博客

4.docker创建一个lnmp镜像,创建容器+上线wordpress
搭建一个lnmp的镜像并并创建一个容器
[root@localhost ~]# mkdir lnmp [root@localhost ~]# cd lnmp [root@localhost lnmp]# vim Dockerfile FROM 10.30.5.120/docker/centos ADD nginx-1.16.1.tar.gz /root/ RUN curl -s http://10.30.5.70:8000/repo.sh | /bin/bash && yum -y install make gcc gcc-c++ pcre-devel zlib-devel php php-mysql php-gd php-fpm \ && cd /root/nginx-1.16.1 && ./configure && make && make install \ && yum -y install epel-release && yum -y install supervisor COPY lnmp.ini /etc/supervisord.d/ COPY nginx.conf /usr/local/nginx/conf/nginx.conf CMD ["supervisord","-n"] [root@localhost lnmp]# vim lnmp.ini ################################################## [program:nginx] command=/usr/local/nginx/sbin/nginx -g "daemon off;" [program:php-fpm] command=/usr/sbin/php-fpm -F ################################################## 创建一个容器 [root@localhost ~] docker run --name lnmp -d -p 80:80 -v /opt/html1:/usr/local/nginx/html lnmp:1.1 [root@localhost ~]# cd /opt/html1 //在此路径下传入wordpress的安装包 [root@localhost html1]# unzip wordpress-4.9.4-zh_CN.zip //解压 [root@localhost html1]# chmod -R 777 ./ //给予权限
拉取数据库的镜像myslq:5.6
[root@localhost html1]# docker pull 10.30.5.120/docker/mysql:5.6 5.6: Pulling from docker/mysql e64f6e679e1a: Pull complete b0e0af0b3f07: Pull complete 4525fe57d487: Pull complete d3565df0a804: Pull complete Digest: sha256:0ba03586c705ca8f79030586a579001c4fab3d6fa8c388b6c1c37c695645b78e Status: Downloaded newer image for 10.30.5.120/docker/mysql:5.6 10.30.5.120/docker/mysql:5.6 创建容器 [root@localhost html1]# docker run --name mysql-server -d -p 3306:3306 \ > -e MYSQL_ROOT_PASSWORD=123 \ > -e MYSQL_USER=tom \ > -e MYSQL_PASSWORD=123 \ > -e MYSQL_DATABASE=wordpress 10.30.5.120/docker/mysql:5.6
可以访问就是成功
[root@localhost ~]# yum -y install docker-ce vim lrzsz bash-completion [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# setenforce 0 [root@localhost ~]# systemctl start docker [root@localhost ~]# cd /etc/docker/ [root@localhost docker]# rz //传入加速脚本 [root@localhost docker]#systemctl restart docker [root@localhost docker]# cd /usr/local/sbin/ [root@localhost sbin]# rz //传入docker-compose [root@localhost sbin]# chmod +x docker-compose [root@localhost sbin]# cd /root [root@localhost ~]# mkdir harbor [root@localhost ~]# cd harbor/ //用xftp传入harbor [root@localhost harbor]# tar -zxf harbor-offline-installer-v1.8.1.tgz [root@localhost harbor]# mv harbor /usr/local/ [root@localhost harbor]# cd /usr/local/harbor/


在本地拉取centos镜像并在镜像内安装网络工具,并制作新的镜像,上传至harbor
[root@localhost ~]# docker pull 10.30.5.120/docker/centos Using default tag: latest latest: Pulling from docker/centos aeb7866da422: Pull complete Digest: sha256:dc29e2bcceac52af0f01300402f5e756cc8c44a310867f6b94f5f7271d4f3fec Status: Downloaded newer image for 10.30.5.120/docker/centos:latest 10.30.5.120/docker/centos:latest [root@localhost ~]# docker run --name centos --rm -it 10.30.5.120/docker/centos /bin/bash //创建一个新的容器,实在前台运行的 [root@e31b1ced69a7 /]# yum -y install net-tools //下载网络工具 //新开一个新的窗口 [root@localhost ~]# docker commit centos centos:net sha256:529a3bc1997a4257b2b46af51a2dffac91cecb0056472e813f0a001dedf4ca44 [root@localhost ~]# cd /etc/docker/ [root@localhost docker]# vim daemon.json { "insecure-registries":["192.168.18.142"] } [root@localhost ~]# systemctl restart docker [root@localhost ~]# docker tag centos:net 192.168.18.142/1705a/centos:net //在harbor的页面上一定要有1705a的项目 [root@localhost docker]# docker login 192.168.18.142 Username: admin Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded [root@localhost docker]# docker push 192.168.18.142/1705a/centos:net The push refers to repository [192.168.18.142/1705a/centos] 5d22814d2969: Pushed f972d139738d: Pushed net: digest: sha256:1bbb7217b98fef7a6a0a92c3541e6a5667153c240f1886dfc14e2b5057778468 size: 741
出现下面的就是成功

[root@localhost redis]# vim redis.yml version: "3" services: redis1: image: 10.30.5.120/docker/redis-cluster environment: REDIS_PORT: 7001 ports: - "7001:7001" - "17001:17001" redis2: image: 10.30.5.120/docker/redis-cluster environment: REDIS_PORT: 7002 ports: - "7002:7002" - "17002:17002" redis3: image: 10.30.5.120/docker/redis-cluster environment: REDIS_PORT: 7003 ports: - "7003:7003" - "17003:17003" redis4: image: 10.30.5.120/docker/redis-cluster environment: REDIS_PORT: 7004 ports: - "7004:7004" - "17004:17004" redis5: image: 10.30.5.120/docker/redis-cluster environment: REDIS_PORT: 7005 ports: - "7005:7005" - "17005:17005" redis6: image: 10.30.5.120/docker/redis-cluster environment: REDIS_PORT: 7006 ports: - "7006:7006" - "17006:17006" [root@localhost redis]# docker-compose -f redis.yml up -d [root@localhost redis]# docker run --rm -it 10.30.5.120/docker/redis-trib create --replicas 1 192.68.18.140:7001 192.68.18.140:7002 192.68.18.140:7003 192.68.18.140:7004 192.68.18.140:7005 192.68.18.140:7006 [root@localhost redis]# docker-compose -f redis.yml exec redis1 /bin/bash root@d59958361c54:/data# redis-cli -c -h 192.168.18.140 -p 7001 192.168.18.140:7001> cluster nodes 1a94f5fdc426a9a55d8d4c6a57f68729a15f1c55 172.21.0.1:7002@17002 master - 0 1574729775000 2 connected 5461-10922 fd33c4d135612600d9fac4f0e3708d795ebaa652 172.21.0.1:7006@17006 slave b3d938c087b12fbb25da69eaf01deb85fc1b5d0b 0 1574729775000 6 connected b3d938c087b12fbb25da69eaf01deb85fc1b5d0b 172.21.0.1:7003@17003 master - 0 1574729774395 3 connected 10923-16383 ca049c14a48a536bbe9b403c2f40ecd14874036e 172.21.0.1:7005@17005 slave 1a94f5fdc426a9a55d8d4c6a57f68729a15f1c55 0 1574729775000 5 connected 1f6f6afaaeefa94c9e3ef2109ba3dca4fb0b1bf5 172.21.0.1:7004@17004 slave 61fc15466979d7a522aa7953889611878a0f6b14 0 1574729776429 4 connected 61fc15466979d7a522aa7953889611878a0f6b14 172.21.0.2:7001@17001 myself,master - 0 1574729774000 1 connected 0-5460 模拟其中一个redis故障 [root@localhost redis]# docker-compose -f redis.yml stop redis1 [root@localhost redis]# docker-compose -f redis.yml exec redis2 /bin/bash root@31fa9af6c6d2:/data# redis-cli -c -h 192.168.18.140 -p 7002 192.168.18.140:7002> cluster nodes 61fc15466979d7a522aa7953889611878a0f6b14 172.21.0.1:7001@17001 master,fail - 1574729953593 1574729952000 1 disconnected 1f6f6afaaeefa94c9e3ef2109ba3dca4fb0b1bf5 172.21.0.1:7004@17004 master - 0 1574730065588 7 connected 0-5460 fd33c4d135612600d9fac4f0e3708d795ebaa652 172.21.0.1:7006@17006 slave b3d938c087b12fbb25da69eaf01deb85fc1b5d0b 0 1574730064000 6 connected 1a94f5fdc426a9a55d8d4c6a57f68729a15f1c55 172.21.0.4:7002@17002 myself,master - 0 1574730063000 2 connected 5461-10922 b3d938c087b12fbb25da69eaf01deb85fc1b5d0b 172.21.0.1:7003@17003 master - 0 1574730065000 3 connected 10923-16383 ca049c14a48a536bbe9b403c2f40ecd14874036e 172.21.0.1:7005@17005 slave 1a94f5fdc426a9a55d8d4c6a57f68729a15f1c55 0 1574730065588 5 connected
[root@localhost redis]# cd /root [root@localhost ~]# mkdir zabbix [root@localhost ~]# cd zabbix/ [root@localhost zabbix]# vim zabbix.yml version: "3" services: db: image: 10.30.5.120/docker/mysql:5.6 environment: MYSQL_ROOT_PASSWORD: 123 MYSQL_USER: tom MYSQL_DATABASE: zabbix MYSQL_PASSWORD: 123 command: --character-set-server=utf8 ports: - "3306:3306" zabbix-server: image: 10.30.5.120/docker/zabbix-server environment: DB_SERVER_HOST: db DB_SERVER_PORT: 3306 MYSQL_DATABASE: zabbix MYSQL_USER: tom MYSQL_PASSWORD: 123 ports: - "10051:10051" depends_on: - db zabbix-web: image: 10.30.5.120/docker/zabbix-web-apache environment: DB_SERVER_HOST: db DB_SERVER_PORT: 3306 MYSQL_DATABASE: zabbix MYSQL_USER: tom MYSQL_PASSWORD: 123 TZ: Asia/Shanghai ZBX_SERVER_HOST: zabbix-server ports: - "80:80" depends_on: - db - zabbix-server zabbix-agent: image: 10.30.5.120/docker/zabbix-agent environment: ZBX_SERVER_HOST: zabbix-server ports: - "10050:10050" depends_on:

浙公网安备 33010602011771号