Centos7 Docker配置

本文详细介绍了如何在CentOS 7系统中安装Docker,包括升级内核、配置阿里云镜像加速器以及启动Docker服务。接着,通过Go语言创建一个简单的“Hello World”web应用,并指导如何构建和运行该应用的Docker容器,最后展示了通过浏览器访问容器化应用的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker

Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

Docker安装(CentOS 7)

升级内核

升级方法:链接

安装配置Docker

  1. 移除旧版本
$ sudo yum remove docker*
  1. 阿里云配置安装
# Set up repository
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# Use Aliyun Docker
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 查看指定版本

yum list docker-ce --showduplicates

# 安装指定版本

yum install -y --setopt=obsoletes=0 \
   docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
   docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
   
   
# 不指定版本号 默认安装最新版
sudo yum install docker-ce

启动Docker后台服务

# Start docker service
systemctl enable docker
systemctl start docker

镜像加速

注册阿里云账号,在管理控制台中容器镜像服务,在左边栏点击镜像加速器,便能看见加速器的地址,然后配置/etc/docker/daemon.json文件

{
	“registry-mirrors":["加速器地址”]
}

重新加载设置,重新启动Docker服务

# systemctl daemon-reload
# systemctl restart docker

注意:若不配置加速器,在docker build环节中出现超时

用Go语言创建一个“Hello World" web 应用

首先我们为 Go 应用创建一个目录,它会在浏览器中显示 “Hello World”。创建一个 web-app 目录并使它成为当前目录。进入 web-app 应用目录并编辑一个名为 main.go 的文件。

root@demohost:~# mkdir web-app
root@demohost:~# cd web-app/
root@demohost:~/web-app# vim.tiny main.go
package main
import (  
	"fmt"  
	"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {  
	fmt.Fprintf(w, "Hello %s", r.URL.Path[1:])
}
func main() {  
	http.HandleFunc("/World", handler)  
	http.ListenAndServe(":8080", nil)
}

下一步是将上面的应用在 docker 中容器化。因此我们会创建一个 dockerfile 文件,它会告诉 docker 如何容器化我们的 web 应用。

root@demohost:~/web-app# vim.tiny Dockerfile
# 得到最新的 golang docker 镜像FROM golang:latest
# 在容器内部创建一个目录来存储我们的 web 应用,接着使它成为工作目录。
RUN mkdir -p /go/src/web-app
WORKDIR /go/src/web-app
# 复制 web-app 目录到容器中
COPY . /go/src/web-app
# 下载并安装第三方依赖到容器中
RUN go-wrapper download
RUN go-wrapper install
# 设置 PORT 环境变量
ENV PORT 8080
# 给主机暴露 8080 端口,这样外部网络可以访问你的应用
EXPOSE 8080
# 告诉 Docker 启动容器运行的命令
CMD ["go-wrapper", "run"]

构建/运行容器

使用下面的命令构建你的 Go web-app,你会在成功构建后获得确认。

root@demohost:~/web-app# docker build --rm -t web-app .

现在可以运行我们的 web-app 了,可以执行下面的命令。

root@demohost:~/web-app# docker run -p 8080:8080 --name="test" -d web-app

用浏览器输入http://localhost:8080/World,便能看到Hello World的字符

用下面的命令来启动、停止并检查容器的状态。

### 列出所有容器
root@demohost:~/ docker ps -a
### 使用 id 启动容器
root@demohost:~/ docker start CONTAINER_ID_OF_WEB_APP
### 使用 id 停止容器
root@demohost:~/ docker stop CONTAINER_ID_OF_WEB_APP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值