第四篇:Docker安装并启动一个http容器

Docker安装与配置指南
本文详细介绍Docker的安装步骤,包括卸载旧版本、设置安装源、安装Docker CE及指定版本安装等内容,并提供了验证安装成功的方法以及如何在Docker容器内安装httpd服务并映射端口。

知识背景

官方文档:https://docs.docker.com/engine/installation/

docker分为社区版(CE)和企业版(EE),他们最大的区别就是:社区版是开源免费的,企业版是收费的。
对于想要学习docker容器、或者小型开发团队来说,首选Docker社区版.

1.卸载掉老版本的Docker容器
yum remove docker  docker-common   docker-selinux    docker-engine
2.有三种Docker CE安装方法

a.使用docker镜像,便于安装和升级,推荐使用这种方法

b.下载Docker的rpm包来安装,很有可能遇到依赖包问题

c.在测试和开发环境,可以选择自动化脚本安装Docker

3.使用镜像仓库安装

a.如果首次安装Dcoker CE ,需要设置Docker安装源

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

说明:数据持久化设备和lvm2需要映射器所需的驱动程序支持

b.执行下面的命令设置稳定的镜像源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4.安装Docker CE
yum install -y  docker-ce
5.如果你是在生产环境安装Docker,需要指定相应的版本来安装,而不是安装最新的Docker

使用下面命令可列出现镜像仓库中Docker镜像版本,并使用sort工具对Docker版本从高到低进行一个排序

[root@docker ~]# yum list docker-ce --showduplicates | sort -r
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror, langpacks
Installed Packages
* epel: mirror.lzu.edu.cn
docker-ce.x86_64            17.12.0.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.12.0.ce-1.el7.centos            @docker-ce-stable
docker-ce.x86_64            17.09.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.09.0.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.06.2.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.06.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.06.0.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.2.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
Available Packages

说明:指定安装Docker版本时,举个列子,使用下面命令安装

yum install <FULLY-QUALIFIED-PACKAGE-NAME>

6.设置Docker开机启动
systemctl enable docker.service

systemctl start docker.service
7.验证docker是否安装成功安装,如果返回如下信息,表示docker安装成功

第四篇:Docker安装并启动一个http容器

8.在docker容器安装httpd服务,并把宿主机的80端口映射给httpd的80端口
[root@docker ~]# docker run -d -p 80:80 httpd
Unable to find image 'httpd:latest' locally
latest: Pulling from library/httpd
f49cf87b52c1: Pull complete
02ca099fb6cd: Pull complete
de7acb18da57: Pull complete
770c8edb393d: Pull complete
0e252730aeae: Pull complete
6288e83d58fa: Pull complete
a91ad03b2178: Pull complete
Digest: sha256:643ca2ed9f6caf1f392184aee05a8f2cd478bdacbd350ea6b4dbc8f5b8e400a8
Status: Downloaded newer image for httpd:latest
0747f02bb2304ef964ed153e6e81f3f083965f95f12ad9a70c95b7f329243a2c
docker: Error response from daemon: driver failed programming external connectivity on endpoint mystifying_jennings (8644011e3dab6725c314f6e634444ca6b6cfe3792d6f504a12af2e065d4c448f): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.
安装后在web页面输入宿主机地址访问http容器

第四篇:Docker安装并启动一个http容器

转载于:https://blog.51cto.com/liuleis/2067977

<think>好的,我现在需要帮助用户了解如何使用Docker Compose进行单容器部署,特别是头歌教育平台的第一关教程。首先,我得回顾一下用户提供的引用内容,确保信息准确。 用户提到了引用[4]中的Docker Compose常用字段和命令,这应该是基础。单容器部署虽然简单,但需要正确编写docker-compose.yml文件。根据引用[2],用户可能只需要一个docker-compose up命令就能启动服务。另外,引用[3]指出macOS用户通过Docker Desktop安装Compose,所以需要确保环境已经正确安装。 用户的问题可能集中在如何创建配置文件、定义服务和启动容器上。需要分步骤说明,比如创建项目目录、编写YAML文件、使用命令启动。还要注意版本兼容性,引用[1]提到如果版本不匹配可能需要调整docker-compose版本。不过单容器情况下,通常问题不大。 另外,引用[5]提到Links标签已不推荐,所以应避免使用,改用网络或直接端口映射。单容器可能不需要复杂网络,但如果有依赖,可能需要说明。不过用户的问题只是单容器,所以重点放在基础字段如image、ports、volumes等。 需要检查用户是否可能遇到常见错误,比如端口冲突或卷挂载路径错误。教程中应提醒这些注意事项。最后,生成相关问题,帮助用户进一步学习,比如多容器部署或优化方法。</think>以下是关于使用Docker Compose进行单容器部署的分步教程,结合头歌教育平台第一关的核心知识点: ### 一、Docker Compose单容器部署步骤 1. **创建项目目录** 新建文件夹作为项目根目录,例如: ```bash mkdir myapp && cd myapp ``` 2. **编写docker-compose.yml** 创建文件写入以下内容(以Nginx为例): ```yaml version: '3.8' # 推荐使用3.x版本[^4] services: web: image: nginx:alpine # 指定官方镜像 ports: - "80:80" # 端口映射(主机端口:容器端口) volumes: - ./html:/usr/share/nginx/html # 挂载静态资源目录[^5] ``` 3. **启动容器** 执行部署命令(后台运行加`-d`参数): ```bash docker-compose up -d # 一键启动服务[^2] ``` 4. **验证部署** 访问`http://localhost`查看Nginx默认页面,或检查容器状态: ```bash docker-compose ps ``` ### 二、关键字段解析 | 字段 | 说明 | 示例值 | |-------------|-------------------------------|-----------------------| | `version` | 定义Compose文件格式版本 | 3.8 | | `services` | 声明服务列表 | web | | `image` | 指定基础镜像 | nginx:alpine | | `ports` | 端口映射规则 | "80:80" | | `volumes` | 数据卷挂载路径 | ./html:/container/path| ### 三、常见问题排查 1. **端口冲突** 错误提示`Bind for 0.0.0.0:80 failed: port is already allocated` **解决方案**:修改主机端口(如`"8080:80"`)或停止占用端口的进程 2. **文件挂载失效** 确保本地目录存在且路径正确,可使用绝对路径: ```yaml volumes: - /home/user/myapp/html:/usr/share/nginx/html ``` 3. **版本兼容问题** 若出现`Unsupported config option`错误,需检查: - Docker Engine版本是否支持`version`声明(通过`docker --version`查看) - 根据Docker版本选择兼容的Compose文件版本[^1] ### 四、操作演示 ```bash # 停止服务(保留数据卷) docker-compose stop # 删除容器(删除数据卷加 -v) docker-compose down # 查看日志 docker-compose logs -f ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值