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
相关推荐
爱和冰阔落1 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
无奈笑天下12 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
威嵌神州16 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__17 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo18 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
打工仔折腾 AI1 天前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
无奈笑天下1 天前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
fengkai45451 天前
Prometheus+K8s弹性伸缩综合项目
运维·kubernetes·k8s·prometheus·hpa·vpa
分布式存储与RustFS1 天前
镜像仓库的层别只堆本地盘:用 RustFS 给 Harbor 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
雪落漂泊1 天前
Liunux进程(七):程序控制篇(中)
linux·运维·windows