Docker 是一个[开源]的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 [Linux]或 Windows 机器上,也可以实现[虚拟化]。容器是完全使用[沙箱]机制,相互之间不会有任何接口。(来自百度百科)
接着上一篇文章 VirtualBox 虚拟机安装 centos7 Minimal 来说。
我们在完成 centos7 虚拟机的安装后,接下来配置 centos7 的网络,防火墙。需用到 xshell,xftp 工具,具体如何使用,自行百度。
配置 centos7 网络
进入虚拟机系统(使用 root 用户),使用 nmtui 命令进行配置,首先配置网络
选择第一个网卡,进行如下配置
激活网络
使用 ip addr 命令,可以看到,ip 已配置完成
ping 命令测试,也可连接外网
配置 hostname
配置完成后可使用 hostname 命令查看
配置防火墙
使用命令
systemctl stop firewalld (关闭防火墙)
systemctl disable firewalld (禁用防火墙,开机不会启动)
关闭 selinux
vi /etc/selinux/config
配置完成,重启虚拟机
此时,我们就可以通过宿主机的 xshell 或 SecureCRT 连接这个虚拟机啦。
检查一下防火墙与 selinux 状态,可以看到,都已经关闭。
安装 Docker
这里我们安装最新版的 docker-ce,不适用 centos 源自带的 docker(太旧了)
先装一些工具软件
yum install -y vim net-tools curl yum-utils device-mapper-persistent-data lvm2 curl wget
安装完成
下载并装入阿里的 docker-ce 源 repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 docker-ce
yum install -y docker-ce
配置 docker,这里我配置的是 52375 端口,默认为 2375,开启此端口有风险,建议生产环境不要开启
vim /usr/lib/systemd/system/docker.service
ExecStart= # 1
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:52375 -H #2
网上好多教程没有第一行,我试过,配置完成后无法启动 docker,这样才是正确的方式。
保存后,重新加载配置
systemctl daemon-reload
启动 docker
systemctl start docker
systemctl enable docker
查看 52375 端口,可以看到已经开启
netstat -anlp|grep 52375
使用 docker pull 拉取一个 nginx 的镜像
docker pull nginx:alpine
拉取完成,运行 nginx 镜像
docker run --rm --name nginx --hostname nginx -P -d nginx:alpine
通过 docker ps 可以看到 nginx 已运行,80 端口映射到了虚拟机的 32768 端口,使用 curl 请求这个端口,可以加载出 nginx 主页源码
curl localhost:32768
通过宿主机浏览器访问虚拟机 32768 端口
到这里,centos7 安装 docker 已完成。
以上是我个人的使用经验,如果有什么错误,请大家指正。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于