第七次作业 运维高级 docker容器进级版

1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。

(1)拉取相应镜像

docker pull mysq:5.6
docker pull owncloud:latest

(2)运行mysql:5.6容器

docker run --name mysql -e MYSQL_ROOT_PASSWORD=12345 -d mysql:5.6

(3)运行owncloud容器

 docker run --name owncloud --link mysql:mysql -p 8080:80 -d owncloud

(4)查看并验证

docker ps #查看相应容器是否运行

之后在浏览器中输入ipaddress:8080
在这里插入图片描述

2、安装搭建私有仓库 Harbor

(1)下载好harbor和docker-compose
(2)上传到Linux服务器
在这里插入图片描述
(3)复制docker-compose并修改权限

cp docker-compose-linux-x86_64 /usr/bin/docker-compose

cd /usr/bin
chmod +x docker-compose

(4)解压harbor

tar -cvzf harbor-offline-installer-v2.8.4.tgz

(5)复制harbor.yml.tmpl文件命名为harbor.yml并修改

cd harbor

cp harbor.yml.tmpl  harbor.yml

vim harbor.yml #修改
hostname: www.harbor.com  #修改
  port: 8089  #修改
#注释掉https的配置(如果要使用https需要申请ca证书)
#https:
  # https port for harbor, default is 443
#  port: 443
  # The path of cert and key files for nginx
#  certificate: /etc/pki/tls/certs/haha.crt
#  private_key: /etc/pki/tls/private/haha.key

(6)运行install.sh,浏览器访问ipaddress:8089

[root@docker harbor]# ./install.sh

默认用户名:admin
默认密码:Harbor12345
在这里插入图片描述

3、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:

(1)基于centos基础镜像;
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
(6)验证镜像。

[root@localhost test1]#  vim Dockerfile

FROM centos:7 #拉取镜像
MAINTAINER www.cw.com  #指定作者信息
RUN yum install -y gcc gcc-c++ make \   #下载nginx安装环境
    openssl-devel pcre-devel gd-devel \
    iproute net-tools telnet wget curl && \
    yum clean all && \
    rm -rf /var/cache/yum/*

RUN  wget http://nginx.org/download/nginx-1.15.5.tar.gz && \ # 下载nginx
    tar zxf nginx-1.15.5.tar.gz && \  #解压
    cd nginx-1.15.5 && \  
    ./configure --prefix=/usr/local/nginx \   # 使用cofigure创建makeFile文件
    --with-http_ssl_module \
    --with-http_stub_status_module && \
    make &&  make install && \ #编译
    rm -rf /usr/local/nginx/html/index.html &&\ 
    cd /usr/local/nginx/sbin && ./nginx  #启动nginx

COPY dest  /usr/local/nginx/html/  #复制主机index.html

ENV PATH $PATH:/usr/local/nginx/sbin
WORKDIR /usr/local/nginx
EXPOSE 80 #暴露80端口;
CMD ["nginx", "-g", "daemon off;"]  #设置服务自启动。

使用build生成镜像

docker build -t nginx:v1.1 ./

在这里插入图片描述
在这里插入图片描述

4、Dockerfile快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1,并推送到私有仓库。具体要求如下:

(1)基于centos:6基础镜像;
(2)指定作者信息;
(3)安装httpd、mysql、mysql-server、php、php-mysql、php-gd;
(4)暴露80和3306端口;
(5)设置服务自启动。
(6)验证镜像。
值得注意的是centos6官方源已下线,所以需要切换centos-vault源!

wget -O CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo
FROM centos:6
MAINTAINER "Cw <cw@cw.com>"

COPY CentOS-Base.repo /etc/yum.repos.d/
RUN yum install -y httpd &&\
    yum install -y mysql mysql-server &&\
    yum install -y php php-mysql php-gd &&\
    yum clean all

EXPOSE 80 3306

RUN httpd -v &&\
    mysql --version &&\
    php -v

CMD ["/bin/bash", "-c","systemctl start httpd && systemctl mysqld"]

构建镜像

docker build -t lamp:v1.1 ./

推送镜像到私有仓库

docker login lyc.harbor -u lyc

#在项目中标记镜像
docker tag lamp:v1.1 lyc.harbor.com/exclusive/lamp:1.1
#推送镜像到目标目录
docker push lyc.harbor.com/exclusive/lamp:1.1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值