当前位置: 首页 > news >正文

Docker 安装与使用

1. Docker 的安装

1.1 docker 的安装

docker是一种容器技术,解决软件跨环境迁移的问题

# 补包

yum install -y yum-utils device-mapper-persistent-data lvm2 unzip

# 添加阿里云仓库

vi /etc/yum.repos.d/aliyum.repo

[base] name=base baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/ enabled=1 gpgcheck=0 [extras] name=extras baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/ enabled=1 gpgcheck=0 [epel] name=Extra Packages for Enterprise Linux 7 - $basearch baseurl=http://mirrors.aliyun.com/epel/7/$basearch failovermethod=priority enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
​ yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache

# 安装docker

yum install -y docker-ce docker-ce-cli containerd.io

# 开启路由转发

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

1.2 配置镜像加速器

访问阿里云相关页面(https://promotion.aliyun.com/ntms/act/kubernetes.html)

搜索镜像服务

点击 管理控制台

执行操作文档中的命令

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://2q6ap672.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker

1.3 镜像命令

docker images # 查看镜像 docker search 镜像名 # 搜索镜像 docker pull 镜像名 # 拉取镜像 docker pust 镜像名 # 推送镜像 docker rmi 镜像名 # 删除镜像

1.4 容器命令

docker ps # 查看容器 docker ps -a # 查看所有容器 docker ps -aq # 查看所有容器ID docker start/stop/restart/inspect/rm 容器名/容器ID # 启动/停止/重启/查看/删除 docker run -d # 创建容器 docker exec -it 容器名/容器ID # 进入容器

1.5 数据卷

宿主机中的一个目录或文件,用于数据持久化和容器间的数据交换

-v /usr/local/conf:/usr/lcoal/conf

# 部署tomcat

# 搜索镜像 docker search tomcat # 拉取镜像 docker pull tomcat:latest # 创建容器 docker run -d --name tomcat -p 18080:8080 \ -v /data/docker/volume/tomcat-app/:/usr/local/tomcat/webapps \ tomcat:latest # 查看容器 docker ps # 进入容器 docker exec -it tomcat /bin/bash

2. Dockerfile

Dockerfile是一个包含用于 组合镜像 的命令的文本文档 。可以使用在命令行中,调用任何命令

Docker 通过 dockerbuild命令 可以 读取Dockerfile中的指令 并自动生成新的 镜像

2.1 编写dockerfile

vim Dockerfile # Description: test image FROM busybox LABEL maintainer="natasha <natasha@163.com>" app="httpd" ENV WEBDIR="/data/web/html" RUN mkdir -p ${WEBDIR} && echo 'this is a test web' > ${WEBDIR}/index.html CMD [ "sh","-c","/bin/httpd -f -h ${WEBDIR}" ]

# 构建镜像

docker build -f Dockerfile -t apache:v1 /data/docker/Docker-file

2.2 dockerfile案例

### 提供基础镜像 Centos,(最接近完整虚拟机) [root@docker-31 /data/docker/images]# cd /data/docker/images/ [root@docker-31 /data/docker/images]# wget http://192.168.6.100/Docker/images/centos7.9.2009.tar [root@docker-31 /data/docker/images]# docker load < centos7.9.2009.tar ### 创建专用目录和相关的文件 [root@docker-31 /data/docker]# mkdir centos-nginx/ [root@docker-31 /data/docker]# cd centos-nginx/ ### 提供水果忍者游戏 和 阿里云yum配置 [root@docker-31 /data/docker/centos-nginx]# cp /etc/yum.repos.d/aliyun.repo ./ [root@docker-31 /data/docker/centos-nginx]# wget http://192.168.6.100/web/fruit-game.tar.gz [root@docker-31 /data/docker/centos-nginx]# ls aliyun.repo fruit-game.tar.gz ### 编写Dcokerfile FROM centos:centos7.9.2009 LABEL author="xunfang" version="7.9.2009" nginx_version="1.20" app="Game" WORKDIR /etc/yum.repos.d/ RUN rm -rf /etc/yum.repos.d/*.repo ADD aliyun.repo ./ ADD http://192.168.6.100/web/nginx-1.20.2.tar.gz /usr/local/src RUN yum clean all && yum makecache && yum install -y gcc zlib zlib-devel pcre pcre-devel openssl openssl-devel && groupadd -g 88 nginx && useradd -g nginx -M -s /sbin/nologin -u 88 nginx && cd /usr/local/src && tar xf nginx-1.20.2.tar.gz && cd nginx-1.20.2 && ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_sub_module --with-http_ssl_module --with-pcre && make && make install ADD fruit-game.tar.gz /usr/local/nginx/html/ WORKDIR /usr/local/nginx/html EXPOSE 80/tcp CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"] ### 执行构建 [root@docker-31 /data/docker/centos-nginx]# docker build -t centos-nginx-game:v1 /data/docker/centos-nginx ### 查看镜像 [root@docker-31 /data/docker/centos-nginx]# docker images ### 运行容器: docker run -d --name nginx-game-1 -p 88:80 centos-nginx-game:v1 ### windows测试 http://192.168.10.31:88 ### 登录容器查看: [root@docker-31 /data/docker/centos-nginx]# docker exec -it nginx-game-1 /bin/bash

3. Docker命令小结

docker -v docker --help docker version docker info docker ps docker ps -a docker images docker search docker pull docker save -o docker load < docker rmi docker rm -f docker attach 返回主程序,1号 docker exec 在主程序上,运行新的程序 非 1号 docker inspect 查看 容器/镜像 明细 ctrl + p + q docker run -it --name -p -d docker start 启动一个挂掉的容器

4. Docker-compose

Docker的服务编排工具,主要用来构建基于 Docker 的复杂应用,通过 YAML 文件声明式

# 安装docker-compose

curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 授权

chmod +x /usr/local/bin/docker-compose

# 运行docker-compose

docker-compose up

# 后台运行docker-compose

docker-compose up -d

http://www.zskr.cn/news/1527631.html

相关文章:

  • 避坑指南:你的通达信主买主卖指标为什么不准?可能是这些细节没调好
  • 2026年幕墙材料公司推荐指南:谁更值得信赖?——基于技术、产能与案例的行业分析 - 优质品牌商家
  • Flask部署PyTorch模型时,我踩过的5个坑和解决办法(附打包exe避雷指南)
  • ArcMap地图导出AI格式后,在Illustrator里编辑总失败?试试这个保姆级避坑流程
  • uaal-example完全指南:如何将Unity无缝集成到iOS和Android原生应用中
  • 别再乱改文件夹权限了!一次搞懂SFTP的chroot目录所有权和权限设置(附CentOS 7.3实战)
  • VASP能带计算踩坑实录:为什么我的能带图总是断开的?(附vaspkit 303避坑指南)
  • JDK17升级踩坑记:CentOS上‘JCE cannot authenticate the provider BC’报错,我用这招轻松搞定
  • 手把手教你用DRV8313驱动三相无刷电机:从数据手册到PCB布局的避坑指南
  • 群晖NAS硬盘温度报警太烦人?手把手教你用SSH修改scemd.xml,告别误关机
  • root-MUSIC算法避坑指南:为什么你的多项式求根结果不准?
  • Outlook收邮件正文一片白?别慌,先试试这4个官方修复方案(附详细步骤图)
  • SH9对话量子场论(DQFT)雏形中以话轮转换为场激发的符号体系构建报告(世毫九实验室原创研究)
  • 保姆级教程:用单张RTX 3090在Ubuntu 20.04上成功复现BEVFusion(附完整配置与调参记录)
  • 高阶函数:map、filter、reduce、sorted底层详解+实战选型
  • PADS转Allegro保姆级避坑指南:从ASC导出到封装处理,一次搞定所有疑难杂症
  • 组织结构不是画出来的,而是为了支撑组织能力而设计出来的
  • 2026年成都员工工装定制市场观察:这几家口碑供应商为何被反复推荐? - 优质品牌商家
  • SAP ABAP开发避坑:用FI_PERIOD_CHECK函数判断日期是否在OB52账期内,别再让程序直接报错
  • 数字钟设计避坑指南:从555振荡器到数码管显示,我的课程设计踩了哪些雷?
  • 2026年泸州龙马潭考公备考规划机构靠谱性分析:本地化服务与实战案例深度解读 - 优质品牌商家
  • Multisim仿真避坑指南:组合逻辑电路功能验证的3个常见错误与解决技巧(以74系列芯片为例)
  • 避坑指南:GEE计算FVC时遇到‘像素超限’和‘分辨率不一致’怎么办?
  • 避坑指南:K210与Arduino串口通信,为什么你的数据总收不到?(附Mega2560多串口配置)
  • NC系统数据权限配置避坑指南:手把手教你搞定元数据过滤与授权规则
  • 【计算机毕业设计案例】基于 SpringBoot 的足球俱乐部人员与物资管理系统的设计与实现 轻量化足球俱乐部综合服务管理系统(程序+文档+讲解+定制)
  • 客户电脑上Keil MDK编译报.axf文件错误?别慌,手把手教你排查‘软件授权’这个坑
  • 从Hive存储格式到Spark资源调优:一份写给大数据新人的秋招技术栈梳理手册
  • 从‘坑’里学QVector:新手常犯的3个内存与迭代器错误及避坑指南
  • 2026年6月成都闪电仓加盟选择指南:聚焦迅购猫品牌优势与市场机遇 - 品牌鉴赏官2026