如何在RHEL 7/CentOS 7上安装和设置Docker
如何在RHEL 7(Red Hat Enterprise Linux)服务器上安装和设置Docker容器?
如何在CentOS 7上设置Docker?
如何在CentOS Linux 7服务器上安装和使用Docker CE?
Docker是免费的开源软件。
它可以将任何应用程序自动部署为轻便,可移植,自给自足的容器,几乎可以在任何地方运行。
通常,您在笔记本电脑/台式机上开发软件。
您可以使用应用程序构建容器,并且可以在计算机上测试运行情况。
它将在云,VM,VPS,裸机等中进行扩展。
Docker有两个版本。
第一个与RHEL/CentOS 7发行版捆绑在一起,可以与yum一起安装。
Docker项目分发的第二个版本称为docker-ce(无社区版本),可以由官方Docker项目仓库安装。
Docker项目分发的第三个版本称为docker-ee(企业付费版本),可以由正式的Docker项目仓库安装。
本教程显示如何在RHEL 7或CentOS 7服务器上安装,设置和使用Docker或Docker CE,以及如何创建第一个容器。
如何在RHEL 7或CentOS 7上安装和使用Docker(方法1)
Docker的安装过程如下:
- 执行以下命令以通过Red Hat提供的yum安装Docker:
sudo yum install docker
。 - 执行以下命令以安装最新版本的Docker CE(社区版):
sudo yum remove docker docker-common docker-selinux docker-engine
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce
让我们详细查看所有信息以及示例。
如何使用yum在CentOS 7/RHEL 7上安装Docker
执行以下yum命令:
$ sudo yum install docker
如何在CentOS 7上安装Docker CE(方法2)
首先删除旧版本的docker(如果有):
$ sudo yum remove docker docker-common docker-selinux docker-engine-selinux docker-engine docker-ce
接下来安装所需的软件包:
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
配置docker-ce仓库:
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror adding repo from: https://download.docker.com/linux/centos/docker-ce.repo grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo repo saved to /etc/yum.repos.d/docker-ce.repo
最后安装docker-ce:
$ sudo yum install docker-ce
如何启用Docker服务
$ sudo systemctl enable docker.service
输出示例:
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
如何在CentOS7/RHEL7上启动/停止/重启Docker服务
$ sudo systemctl start docker.service ## <-- Start docker ## $ sudo systemctl stop docker.service ## <-- Stop docker ## $ sudo systemctl restart docker.service ## <-- Restart docker ## $ sudo systemctl status docker.service ## <-- Get status of docker ##
如何查找有关Docker网桥和IP地址的信息
默认网桥名为docker0,并分配了IP地址。
要查找此信息,请运行以下ip命令:
$ ip a $ ip a list docker0
输出示例:
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN link/ether 02:42:cd:c0:6d:4a brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 scope global docker0 valid_lft forever preferred_lft forever
如何运行Docker命令
语法为:
docker command docker command arg docker [options] command arg docker help | more
获取有关Docker的系统范围信息
docker info
获得帮助
docker help | more
运行" docker COMMAND --help"以获取有关命令的更多信息:
docker ps --help docker cp --help
如何测试您的Docker安装
Docker镜像是从docker cloud/hub(例如docker.io或Registry.access.redhat.com等)中提取的。
执行以下命令以验证您的安装是否正常运行:
docker run hello-world
如何搜索Docker镜像
现在您可以使用Docker安装程序了。
现在是找出镜像的时候了。
您可以找到各种开源项目和Linux发行版的镜像。
要在Docker Hub/cloud中搜索nginx镜像,请运行:
docker search nginx
如何安装Docker Nginx镜像
要从注册表中提取名为nginx的镜像,请运行:
docker pull nginx
如何运行Docker Nginx镜像
现在,您提取了镜像,是时候运行它了:
docker run --name my-nginx-c1 --detach nginx
假设您要使用nginx容器托管/home/Hyman/html /中托管的简单静态文件:
docker run --name my-nginx-c2 -p 80:80 -v /home/Hyman/html/:/usr/share/nginx/html:ro -d nginx
其中:
- --name my-nginx-c1:为容器分配一个名称
--detach
:在后台运行容器并打印容器ID-v/home/Hyman/html /:/usr/share/nginx/html:ro
:绑定挂载卷-p 80:80
:将容器的端口发布到主机,即将所有进入端口80的流量重定向到容器流量
继续在/home/Hyman/html /中创建一个名为index.html的文件:
echo 'Welcome. I am Nginx server locked inside Docker' > /home/Hyman/html/index.html
测试一下:
curl http://your-host-ip-address/ curl 192.168.122.188
输出示例:
Welcome. I am Nginx server locked inside Docker
如何列出正在运行的Docker容器
docker ps docker ps -a
输出示例:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bb9d85a56a92 nginx "nginx -g 'daemon of?" 55 seconds ago Up 54 seconds 0.0.0.0:80->80/tcp my-nginx-c2 fe0cdbc0225a nginx "nginx -g 'daemon of?" About a minute ago Up About a minute 80/tcp my-nginx-c1
您可以使用容器ID来停止,暂停或登录到容器。
如何在正在运行的容器中运行命令
对my-nginx-c1容器运行ls/etc/nginx命令
docker exec fe0cdbc0225a ls /etc/nginx
或者
docker exec my-nginx-c1 ls /etc/nginx
是否想为运行中的容器获取bash shell并更改nginx镜像?
docker exec -i -t fe0cdbc0225a bash
或者
docker exec -i -t my-nginx-c1 bash
如何停止运行容器
docker stop my-nginx-c1
或者
docker stopfe0cdbc0225a
如何删除Docker容器
docker rm my-nginx-c1 docker ps -a
到此为止,Docker已安装并在CentOS 7或RHEL 7服务器上运行。