企业 宣传 还要网站吗,wordpress发布的文章无法显示内容,涿州市建设局网站网址是多少,wordpress采集文章内容一、实验目的
1.通过本次实验#xff0c;完成Docker主机的安装和配置、镜像的搜索和下载、容器生命周期的基本管理、容器网络的管理。
2.通过Dockerfile来构建nginx镜像#xff0c;了解Dockerfile镜像构建过程。
二、实验内容与实验要求
1.完成Docker的安装和配置。
2.完…一、实验目的
1.通过本次实验完成Docker主机的安装和配置、镜像的搜索和下载、容器生命周期的基本管理、容器网络的管理。
2.通过Dockerfile来构建nginx镜像了解Dockerfile镜像构建过程。
二、实验内容与实验要求
1.完成Docker的安装和配置。
2.完成Docker镜像的基本操作。
3.完成Docker Hub的基本操作。
4.完成Docker容器的基本操作。
5.掌握通过Dockerfile构建镜像。
三、实验过程与结果
1. 预备工作
创建1核2G的服务器
# xxx为姓名拼音
hostnamectl set-hostname xxx检查内核版本并移除旧版本安装docker依赖工具
uname -rsudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine# 配置yum源
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2. Docker的安装
截图查看hello-world镜像
安装docker并下载hello-world镜像
# 安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io# 启动Docker
systemctl enable docker --nowsudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json -EOF
{registry-mirrors: [https://rixj4ohf.mirror.aliyuncs.com],exec-opts: [native.cgroupdriversystemd],log-driver: json-file,log-opts: {max-size: 100m},storage-driver: overlay2
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker# 测试运行hello-world由于本地没有hello-world这个镜像所以会下载一个hello-world的镜像并在容器内运行。
若能正常输出信息则说明安装成功。
docker run hello-world# 查看下载的hello-world镜像
docker images3. Docker镜像的基本操作
# 获取镜像
docker pull nginx# 查询镜像
docker images# 查询部分镜像
docker image ls nginx# 查看镜像的大小
docker system df1镜像查询
查询镜像
查看镜像大小
2镜像删除
通过短ID或镜像完整ID删除镜像
查看删除后镜像
通过仓库名标签删除镜像-f强制删除
Docker容器的基本操作
1容器的创建与启停
创建一个基于httpd镜像的新容器。若本地没有会拉取
docker create httpd查看容器信息
docker ps -a根据显示的容器ID或容器名称启动容器。
停止容器运行
重启容器
暂停容器
恢复暂停的容器
杀掉容器进程强制停止容器
启动容器给容器重新命名
2容器的运行
运行一个新容器该容器基于ubuntu:14.04
docker run ubuntu:14.04 /bin/echo Hello world启动一个 bash 终端执行exit退出容器
docker run -it ubuntu:14.04 /bin/bash不使用-d参数
docker run ubuntu:14.04 /bin/sh -c while true; do echo hello world; sleep 1; done使用-d参数
docker run -d ubuntu:14.04 /bin/sh -c while true; do echo hello world; sleep 1; done通过docker logs [container ID or NAMES]获取容器的输出信息
3进入容器
启动一个容器
docker run -dit ubuntu:14.04使用attach命令直接进入容器启动命令的终端 执行exit 再启动一个容器
docker run -dit ubuntu:14.04通过docker exec进入容器
docker exec -it container ID bash退出容器
4删除容器
删除一个处于终止状态的容器。若容器没有退出则无法删除需要先停止容器。
使用docker rm -f来删除一个处于运行状态的容器。
删除所有已终止容器
docker rm -v $(docker ps -aq -f statusexited)私有镜像仓库搭建
安装运行docker-registry
# 获取官方registry 镜像并运行容器
docker run -d -p 5000:5000 --restartalways --name registry registry 查看本机已有镜像
通过docker tag命令将基础镜像ubuntu:14.04镜像进行标记。
docker tag ubuntu:14.04 127.0.0.1:5000/myubuntu:14.04
docker images 上传标记的镜像
docker push 127.0.0.1:5000/myubuntu:14.04 Curl查看仓库中的镜像
curl 127.0.0.1:5000/v2/_catalog 删除已有镜像再尝试从私有仓库中下载这个镜像
docker image rm 127.0.0.1:5000/myubuntu:14.04
docker images
docker pull 127.0.0.1:5000/myubuntu:14.04
docker images6. Dockerfile文件构建
添加端口TCP81
下载centos 7
docker pull centos:7 进入nginx_demo下载nginx源码压缩包
mkdir nginx_demo# 进入文件夹下载nginx源码压缩包。
cd nginx_demo
wget http://nginx.org/download/nginx-1.12.2.tar.gz 创建Dockerfile文件并通过Dockerfile创建nginx镜像
vim Dockerfile# 编辑如下内容到Dockerfile中
# base image
FROM centos:centos7# MAINTAINER
MAINTAINER jrzhangstu.ecnu.edu.cn# 修改 yum 的源配置来解决镜像源无法访问的问题
RUN sed -i s|^mirrorlist|#mirrorlist|g /etc/yum.repos.d/CentOS-Base.repo \sed -i s|^#baseurlhttp://mirror.centos.org|baseurlhttp://mirrors.aliyun.com|g /etc/yum.repos.d/CentOS-Base.repo \yum clean all yum -y makecache# put nginx-1.12.2.tar.gz into /usr/local/src and unpack nginx
ADD nginx-1.12.2.tar.gz /usr/local/src# running required command
RUN yum install -y gcc gcc-c glibc make autoconf openssl openssl-devel
RUN yum install -y libxslt-devel -y gd gd-devel GeoIP GeoIP-devel pcre pcre-devel
RUN useradd -M -s /sbin/nologin nginx# change dir to /usr/local/src/nginx-1.12.2
WORKDIR /usr/local/src/nginx-1.12.2# execute command to compile nginx
RUN ./configure \
--usernginx --groupnginx \
--prefix/usr/local/nginx --with-file-aio \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_stub_status_module make make installRUN chmod -R 755 /usr/local/nginx/EXPOSE 80
# 通过Dockerfile创建nginx镜像
docker build -t my_nginx:v1 . 查看构建的镜像
docker images 镜像名称my_nginx标签v1镜像ID 53e3162421c7
7. Nginx镜像验证
通过构建的镜像运行一个容器将端口进行映射
docker run -d -p 80:80 my_nginx:v1 /usr/local/nginx/sbin/nginx -g daemon off;# -p 80:80 : 将容器的80端口映射到主机的80端口
# /usr/local/nginx/sbin/nginx -g daemon off; : 设置nginx非daemon守护进程,否则容器会自动退出 查看容器状态
打开浏览器输入ecs-docker弹性IP地址默认端口为80进行验证显示“Welcome to nginx!”说明容器运行正常
8. Dockerfile指令添加
编辑Dockerfile文件
# 在原有Dockerfile基础上增加如下内容到Dockerfile最后一行
CMD /usr/local/nginx/sbin/nginx -g daemon off;通过Dockerfile创建新的nginx镜像
docker build -t my_nginx:v2 .
docker images通过镜像运行一个容器将端口进行映射将容器的80端口映射到主机的81端口
docker run -d -p 81:80 my_nginx:v2
docker ps打开浏览器进行验证输入弹性IP地址端口为81进行验证显示“Welcome to nginx!”说明容器运行正常
9. 删除相关资源