ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

文档版

2022-06-23 00:05:49  阅读:140  来源: 互联网

标签:centos 文档 yum docker root net localhost


基础环境

vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.200.20

NETMASK=255.255.255.0

GATEWAY=192.168.200.2

DNS=8.8.8.8

[root@localhost ~]# vim /etc/resolv.conf

nameserver 114.114.114.114

systemctl restart network

systemctl disable firewalld

systemctl stop firewalld

vi /etc/selinux/config

改为:SELINUX=disabled

setenforce 0

本地yum源

mount /dev/cdrom /media

vi /etc/yum.repos.d/nb.repo

[nb]

name=nb

baseurl=file:///media

gpgcheck=0

enabled=1

yum clean all

网络yum源(阿里源)

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

yum clean all

yum makecache

         yum -y install vim bash* net-tools

安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum install -y docker-ce docker-ce-cli containerd.io

yum remove -y docker-ce

yum remove -y docker-ce-cli

yum remove -y docker-selinux

yum remove -y docker-engine-selinux

yum install -y docker-ce-19.03.2-3.el7 docker-ce-cli-19.03.2-3.el7 containerd.io

systemctl enable --now docker

 

  • 请基于教材P140面的内容,使用docker compose技术完成WordPress博客项目的部署。请你将博客系统登录的页面提交到答题区域

 

如果当前docker主机已经安装拉起过wordpress项目,需要重新部署的话,一定要删干净环境:先删除容器、再删除镜像、最后删除卷(volume) docker volume ls、docker volume prune

编写配置文件镜像加速器

[root@localhost my_wordpress]# vi /etc/docker/daemon.json

{

  "registry-mirrors": ["https://nxwgbmaq.mirror.aliyuncs.com"]

}

[root@localhost my_wordpress]# systemctl daemon-reload

[root@localhost my_wordpress]# systemctl restart docker

下载文件(无论下载还是上传,都要放进/usr/local/bin下面并重命名为docker-compose)

[root@localhost ~]# curl -L "https://github.com/docker/compose/releases/download/v2.6.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

[root@localhost bin]# chmod +x /usr/local/bin/docker-compose

[root@localhost bin]# mkdir ~/my_wordpress && cd ~/my_wordpress

db定义的是mysql服务器,wordpress定义了wordpress博客项目,db_data卷用于保存提交到数据库的数据

[root@localhost my_wordpress]# vi docker-compose.yml

version: '3.3'

services:

   db:

     image: mysql:5.7

     volumes:

       - db_data:/var/lib/mysql

     restart: always

     environment:

       MYSQL_ROOT_PASSWORD: somewordpress

       MYSQL_DATABASE: wordpress

       MYSQL_USER: wordpress

       MYSQL_PASSWORD: wordpress

   wordpress:

     depends_on:

       - db

     image: wordpress:latest

     ports:

       - "8000:80"

     restart: always

     environment:

       WORDPRESS_DB_HOST: db:3306

       WORDPRESS_DB_USER: wordpress

       WORDPRESS_DB_PASSWORD: wordpress

       WORDPRESS_DB_NAME: wordpress

volumes:

    db_data: {}

[root@localhost my_wordpress]# docker-compose up -d

访问浏览器:http://ip地址:8000

8000端口号为配置文件中定义的,可自行更改

 

  • 基于centos7镜像编写dockerfile文件,构建http服务,Dockerfile要求删除镜像的yum源,使用当前系统的yum源文件,完成后安装http服务,此镜像要求暴露80端口,构建的镜像名称为http:v1.0。请将Dokcerfile文件内容以文本形式提交到答题区域,并将docker ps -a 命令及结果截图到答题区域

 

[root@localhost ~]# mkdir ~/dockerfile-test && cd ~/dockerfile-test

[root@localhost dockerfile-test]# docker pull centos:7

[root@localhost dockerfile-test]# cp /etc/yum.repos.d/CentOS-Base.repo .

[root@localhost dockerfile-test]# vim Dockerfile

FROM centos:centos7

RUN rm -rf /etc/yum.repos.d/*

COPY ./CentOS-Base.repo /etc/yum.repos.d

RUN yum makecache

RUN yum install -y httpd

EXPOSE 80

CMD ["-D", "FOREGROUND"]

ENTRYPOINT ["/usr/sbin/httpd"]

[root@localhost dockerfile-test]# docker build -t http:v1.0 .

[root@localhost dockerfile-test]# docker run -tid --name web -p 8001:80 http:v1.0

访问网站http://ip地址:8001

  • 基于centos7镜像编写dockerfile文件,构建http服务,Dockerfile要求删除镜像的yum源,使用当前系统的yum源文件,完成后安装http服务,上传html文件至镜像内部/var/www/html路径下,index文件内容为“hello apache”,此镜像要求暴露80端口,且修改参数HOSTNAME为www.example.com,设置httpd服务为前台启动,构建的镣像名称为http:v2.0。启动该镜像为容器,命名为http-1,将8080端口映射至容器内部80端口,访问8080端口网页。请将Dockerfile文件内容以文本形式提交到答题区域,并将容器主页的浏览器访问结果截图到答题区域。

 

 

[root@localhost ~]# mkdir http2.0

[root@localhost ~]# cp /etc/yum.repos.d/CentOS-Base.repo /root/http2.0/Centos-Base.repo

[root@localhost ~]# cd http2.0/

[root@localhost http2.0]# vi index.html

hello apache

[root@localhost http2.0]# vi Dockerfile

FROM centos:centos7

RUN rm -rf /etc/yum.repos.d/*

COPY ./Centos-Base.repo /etc/yum.repos.d

RUN yum makecache

RUN yum install -y httpd

COPY ./index.html /var/www/html

EXPOSE 80

CMD ["-D", "FOREGROUND"]

ENTRYPOINT ["/usr/sbin/httpd"]

[root@localhost http2.0]# docker build -t http:v2.0 .

[root@localhost http2.0]# docker run -tid --name http-1 -p 8080:80 -h www.example.com  http:v2.0

查看hostname

[root@localhost http2.0]# docker inspect --format="{{.Config.Hostname}}" http-1

访问网站http://ip地址:8080

  • 请你在本地docker宿主机上加载registy的tar包为registy : laest镜像,并启动为私有仓库容器,将本地宿主机的5000端口映射到容器的5000端口,仓库命名为registy ,设置为自启动状态。请将docker ps -l命令及运行结果截图提交到答题区域。

 

 

上传registry_latest.tar包

上传完查看包的大小

[root@localhost ~]# du -sh registry_latest.tar

26M registry_latest.tar

加载镜像

[root@localhost ~]# docker load -i registry_latest.tar

启动容器

[root@localhost ~]# docker run -d -p 5000:5000 --restart=always --name registry -v /opt/data/registry:/var/lib/registry registry

 

5、下载官方的centos:7镜像,将该镜像上传到registry仓库。请将关键命令及运行结果以文本形式提交到答题区域。

 

下载centos7

[root@localhost ~]# docker pull centos:7

给已用镜像打上标签符合自建注册中心格式

[root@localhost ~]# docker tag centos:7 127.0.0.1:5000/centos:7

执行镜像上传

[root@localhost ~]# docker push 127.0.0.1:5000/centos:7

执行查看测试

[root@localhost ~]# curl http://127.0.0.1:5000/v2/_catalog

{"repositories":["centos"]}

 

  • 在远程docker主机上下载registy中的cento:7镜像,将该镜像运行为一个容器,命名为centos-7,进入容器安装net-tools工具,实现netstat命令的自由使用,并将该容器打包封装为新的镜像,命名为centos:net,重新上传至registry。请将关键命令及运行结果以文本形式提交到答题区域。

 

 

两台电脑都编写 /etc/hosts

vi /etc/hosts

本地docker宿主机ip地址 docker

 

两台电脑都编写 /etc/docker/daemon.json

vi /etc/docker/daemon.json

{

"insecure-registries":["http://docker:5000"],

"registry-mirrors": ["https://z2uujcy0.mirror.aliyuncs.com"]

}

systemctl daemon-reload

systemctl restart docker

 

在远处docker机上进行操作

[root@localhost ~]# docker pull docker:5000/centos:7

[root@localhost ~]# docker run -itd --name centos-7 docker:5000/centos:7

[root@localhost ~]# docker exec -it centos-7 /bin/bash

[root@0a32872653a6 /]# yum -y install net-tools

测试

[root@0a32872653a6 /]# netstat -pant

[root@0a32872653a6 /]# exit

-a 指定作者

[root@localhost ~]# docker commit centos-7 centos:net

[root@localhost ~]# docker tag centos:net docker:5000/centos:net

[root@localhost ~]# docker push docker:5000/centos:net

  • 在本地docker宿主机上,下载registry中的centos : net镜像,并将其保存为tar包。请将关键命令及运行结果以文本形式提交到答题区域。

 

[root@ ~]# docker pull docker:5000/centos:net

[root@ ~]# docker save -o centos_net.tar docker:5000/centos:net

  • 在本地docker宿主机上,将registy中的centos : net镜像运行为容器,命名为centos-net ,并在该容器中,通过/etc/hosts文件修改本容器主机IP映射为centos-net ,然后将该容器导出为一个tar包。请将关键命令及运行结果以文本形式提交到答题区域。

 

[root@ ~]# docker run -itd --name centos-net docker:5000/centos:net

[root@~]# docker exec -it centos-net /bin/bash

每个人的ip地址不一样,只需把最下一行右边的id号改为centos-net即可

[root@76264c0772e3 /]# vi /etc/hosts

127.0.0.1       localhost

::1     localhost ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

172.17.0.3      centos-net

[root@76264c0772e3 /]# exit

[root@~]# docker export -o centos_net2.tar centos-net

标签:centos,文档,yum,docker,root,net,localhost
来源: https://www.cnblogs.com/rancute/p/16403651.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有