Docker常见配置实验

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

复制代码
1、拉取mysql5.6与owncloud的镜像
docker pull mysql:5.6
docker pull mysql:5.6
2、生成容器实例,构建个人网盘
docker run -d --name mydb1 --env MYSQL_ROOT_PASSWORD=123456 mysql:5.6
docker run -d --name owncloudv1 --link mydb1:mydb1 -p 88:80 owncloud:latest

2、安装搭建私有仓库 Harbor

复制代码
1、安装docker-compose环境(在官网下载)
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose 
chmod +x /usr/local/bin/docker-compose
测试:检查版本 
docker-compose version
  Docker Compose version v2.20.3 # 出现这种就是安装成功

2、解压harbor包
tar xf harbor-offline-installer-v2.8.4.tgz -C /usr/local/

3、切换目录,修改配置文件
cd /usr/local/harbor/
cp harbor.yml.tmpl harbor.yml # 备份harbor文件
hostnamectl set-hostname harbor.openlab.cn # 修改主机名
cat harbor.yml
修改过的内容如下:
# Configuration file of Harbor

# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: harbor.openlab.cn

# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 80

# https related config
#https:
  # https port for harbor, default is 443
 # port: 443
  # The path of cert and key files for nginx
 # certificate: /your/certificate/path
 # private_key: /your/private/key/path

4、使用脚本启动
./install.sh

5、如果想要使用域名访问的话,记得修改hosts文件

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

复制代码
1、先创建独立目录,方便进行dockerfile制作镜像
mkdir nginx
mkdir -p /usr/share/nginx/
cd nginx
echo "hello,world" > index.html
vim Dockerfile

2、接下来实现题目要求(以下为Dockerfile中编写)
(1)基于centos基础镜像;
FROM centos:7
(2)指定作者信息;
MAINTAINER "tjy <20020219@126.com>
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
ADD http://nginx.org/download/nginx-1.15.8.tar.gz /usr/local/src/
COPY index.html /usr/share/nginx/
(4)暴露80端口;
EXPOSE 80
(5)设置服务自启动。
CMD ["/usr/sbin/nginx","-g","daemon off;"]

3、验证镜像。
docker build -t nginx:v1.1 ./
docker images | grep nginx  # 出现以下即为镜像制作成功
nginx                           v1.1      b570565e29c7   31 seconds ago   205MB

4、提交镜像到自己的私人仓库(此处使用harbor仓库)
docker login 192.168.134.141  # 登录harbor
docker tag nginx:v1.1 192.168.134.141/library/nginx:v1.1 # 打标签
docker push 192.168.134.141/library/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)验证镜像。

复制代码
1、同样的,先创建一个独立的目录
mkdir lamp
cd lamp
vim Dockerfile

2、编写文件(Dockerfile)
(1)基于centos:6基础镜像;
 FROM centos:6
(2)指定作者信息;
MAINTAINER "mysql <mysql@163.com>"
(3)安装httpd、mysql、mysql-server、php、php-mysql、php-gd;
 ENV WEB_DOC_ROOT="/data/web/html"
RUN yum install -y httpd mariadb-server php php-msysql php-gd
(4)暴露80和3306端口; 
EXPOSE 80/tcp
EXPOSE 3306/tcp
(5)设置服务自启动。 
CMD /bin/httpd -f -h ${WEB_DOC_ROOT}

3、验证镜像。
docker build -t lamp:v1.1 .
docker images | grep lamp
192.168.134.141/test/lamp       v1.1      89cf7f08fa6a   6 minutes ago    633MB

4、提交镜像到远程仓库(依旧采用harbor)
docker tag lamp:v1.1 192.168.134.141/test/lamp:v1.1
docker push 192.168.134.141/test/lamp:v1.1
相关推荐
强里秋千墙外道2 小时前
【Linux】ssh升级到最新版本-以ubuntu为例
linux·运维·ssh
先做个垃圾出来………2 小时前
Docker容器部署方法
运维·docker·容器
minhuan2 小时前
构建AI智能体:七十五、用扣子平台创建工作流:从自动化到智能化的进阶之路
运维·自动化·工作流构建·意图识别工作流
老实巴交的麻匪2 小时前
(八)学习、实践、理解 CI/CD 与 DevOps:持续集成 CI,从源代码到容器镜像
运维·云原生·自动化运维
ink@re3 小时前
Linux iptables:四表五链 + 实用配置
linux·运维·服务器
努力努力再努力wz3 小时前
【Linux进阶系列】:信号(下)
java·linux·运维·服务器·开发语言·数据结构·c++
☆璇3 小时前
【Linux】传输层协议UDP
linux·运维·udp
终焉代码4 小时前
【Linux】进程初阶(1)——基本进程理解
linux·运维·服务器·c++·学习·1024程序员节
Dreamboat-L5 小时前
从零开始在云服务器上部署Gitlab
运维·服务器·gitlab
wanhengidc8 小时前
云手机在网络游戏中的主要功能
运维·服务器·游戏·智能手机