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