标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。