如何在RedHat Linux系统中安装Docker及Docker hub的使用

1. 首先使用下面命令安装需要的软件包:

sudo yum install -y yum-utils

2. 设置稳定的Docker存储库:  

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3. 安装Docker引擎:

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

4. 启动Docker服务:

sudo systemctl start docker

5. 设置开机自启Docker服务:

sudo systemctl enable docker  

6. 测试Docker是否安装成功:

sudo docker run hello-world

7. 可选步骤,为了避免每次运行Docker时必须使用sudo,可将用户加入docker组:

sudo groupadd docker

sudo usermod -aG docker $USER

然后重启系统让更改生效。

按照以上步骤,您就可以在RedHat Linux系统上安装并使用Docker了。

要创建一个新的Docker镜像,通常有两种方式:

1. 通过编写Dockerfile构建

Dockerfile是一个文本文档,用户可以在其中指定构建镜像所需执行的命令。常用的命令有:

- FROM 指定基础镜像

- RUN 执行指令,比如安装软件包

- COPY 复制文件到镜像

- ENV 设置环境变量

- CMD 设置默认执行的命令

编写好Dockerfile后,使用`docker build`命令从中构建镜像:

docker build -t 新镜像名称:版本号 Dockerfile所在路径

例如:

docker build -t myapp:1.0 .

2. 基于已有容器创建

先运行一个容器,做一些修改和安装,然后使用`docker commit`将容器保存为新镜像:

docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]]

例如:

docker commit -a "作者" -m "描述信息" containerID myapp:v2

通过上述两种方式,就可以构建出定制化的Docker镜像。推荐使用Dockerfile的方式,它更加透明化,易于维护和版本控制。创建镜像后,就可以基于该镜像创建容器,或者推送到Docker Hub供他人下载使用了。

下面是一个基于CentOS 7的Dockerfile示例:

dockerfile

# 基础镜像使用CentOS 7

FROM centos:7

# 设置工作目录

WORKDIR /app

# 更新yum源并安装必要软件包

RUN yum update -y && \

    yum install -y wget unzip && \

    yum clean all

# 如果需要安装其他软件包,在这里添加安装命令

# 例如安装Java:

# RUN yum install -y java-1.8.0-openjdk

# 如果需要添加文件到镜像,使用COPY命令

# COPY ./your-app.jar /app

# 设置环境变量

# ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0

# 设置暴露端口(如有需要)

# EXPOSE 8080

# 设置默认启动命令

CMD ["/bin/bash"]

以上Dockerfile包含了:

1. 设置基础镜像为CentOS 7

2. 设置工作目录为 /app

3. 更新yum源并安装wget,unzip等软件包

4. 给出了如何安装其他软件(如Java)的注释示例

5. 如何复制文件到镜像的注释示例

6. 如何设置环境变量的注释示例  

7. 如何暴露容器端口的注释示例

8. 设置默认启动bash shell

您可以根据实际需求,修改和扩展该Dockerfile。比如安装您需要的软件包,复制您的应用文件,设置正确的环境变量和暴露端口等。

编写好后,保存为Dockerfile文件,就可以通过`docker build`命令构建镜像了。

目前使用的Dockerfile

FROM centos:7

WORKDIR /dev/env

RUN yum update -y && \

    yum install -y wget unzip && \

    yum install -y vim && \

    yum install -y net-tools && \

    yum install -y psmisc && \

    yum install -y gdb && \

    yum install -y libpcap-devel && \

    yum install -y git && \

    yum install -y epel-release && \

    yum install -y cmake3 && \

    yum install -y make && \

    yum install -y gcc gcc-c++ && \

    yum install -y sudo && \

    yum install -y rpm-build && \

    yum install -y zlib-devel && \

    yum clean all

EXPOSE 8080

CMD ["/bin/bash"]

下面是一个运行centos7:0.0.1镜像时可以使用的、最全面的docker run命令示例:

docker run -d \

           --name mycentos \

           --restart=always \

           --net=host \

           -p 80:80 \

           -p 8080:8080 \

           -v /data:/app/data:rw \

           -v /etc/timezone:/etc/timezone:ro \

           -e TZ=Asia/Shanghai \

           -e LANG=zh_CN.UTF-8 \

           --cpus=2 \

           --memory=4g \

           --memory-swap=4g \

           --oom-kill-disable \

           --cap-add=SYS_PTRACE \

           --security-opt seccomp=unconfined \

           --ulimit nofile=1024000:1024000 \

           centos7:0.0.1 \

           /app/startup.sh

上面命令中包含了一些常用和高级的选项,具体解释如下:

- -d: 以分离模式(detached)在后台运行容器

- --name mycentos: 给容器指定名称为mycentos

- --restart=always: 设置当容器退出时,Docker总是重启容器

- --net=host: 使用host网络模式,容器共享宿主机网络栈

- -p 80:80 -p 8080:8080: 将容器的80和8080端口映射到宿主机同端口

- -v /data:/app/data:rw: 将宿主机/data目录映射为容器/app/data目录,读写模式

- -v /etc/timezone:/etc/timezone:ro: 将宿主机时区映射为容器时区,只读模式  

- -e TZ=Asia/Shanghai: 设置容器时区为亚洲/上海

- -e LANG=zh_CN.UTF-8: 设置语言环境为中文

- --cpus=2: 限制容器使用2个CPU核心

- --memory=4g: 限制容器使用4GB内存  

- --memory-swap=4g: 设置容器使用交换分区的内存上限为4GB

- --oom-kill-disable: 禁用OOM(内存不足)时杀死容器

- --cap-add=SYS_PTRACE: 添加授权容器syscall调试能力

- --security-opt seccomp=unconfined: 关闭容器默认seccomp安全策略

- --ulimit nofile=1024000:1024000: 设置容器可打开文件数上限

- centos7:0.0.1: 要运行的镜像名称和标签

- /app/startup.sh: 容器启动后要执行的命令或脚本

这个全面的示例集成了运行模式、资源限制、文件映射、环境变量设置等诸多高级选项,可以满足大多数生产环境容器的运行需求。使用时可根据实际情况选用所需部分。通过调整参数可以对容器资源使用、持久化数据、调试等方面进行个性化设置。

Docker Hub是一个用于存储和共享Docker容器的云服务平台。以下是一些基本步骤,以帮助你使用Docker Hub:

1. 注册 Docker Hub 帐号

首先,你需要在[Docker Hub网站](https://hub.docker.com/)上注册一个帐号。点击 "Sign Up" 按钮,填写必要的信息来创建你的 Docker Hub 帐号。

2. 安装 Docker

确保你的计算机上已经安装了 Docker。你可以在[Docker官方网站](https://www.docker.com/get-started)上找到适用于你操作系统的安装说明。

3. 登录 Docker Hub

在终端或命令提示符中,使用以下命令登录到 Docker Hub。你将需要提供你在 Docker Hub 上注册时使用的用户名和密码。

docker login

4. 构建 Docker 镜像

构建你的 Docker 镜像,可以通过创建一个 `Dockerfile` 文件并运行 `docker build` 命令来实现。确保在 `Dockerfile` 所在的目录中执行以下命令:

docker build -t your_username/your_image_name:tag .

这会将你的 Docker 镜像构建并打上标签。`your_username` 是你在 Docker Hub 上的用户名,`your_image_name` 是你为你的镜像选择的名称,`tag` 是你给该版本的标签。最后的点 `.` 表示使用当前目录的内容作为构建上下文。

 5. 推送 Docker 镜像到 Docker Hub

一旦你的镜像构建完成,使用以下命令将其推送到 Docker Hub:

docker push your_username/your_image_name:tag

这将把你的 Docker 镜像上传到 Docker Hub。

6. 从 Docker Hub 拉取镜像

在另一台机器或服务器上,你可以使用以下命令从 Docker Hub 拉取你的镜像:

docker pull your_username/your_image_name:tag

7. 运行容器

使用以下命令在本地运行你的 Docker 镜像:

docker run -d -p 8080:80 your_username/your_image_name:tag

以上命令假设你的容器将应用程序的端口 80 映射到主机的端口 8080。你可以根据你的应用程序和需求进行调整。

这些是使用 Docker Hub 的基本步骤。你可以在 Docker Hub 上查看和管理你的镜像,以及与其他开发者共享你的容器。

  • 34
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值