• CentOS Docker 安装


    CentOS Docker 安装
    先卸载旧版本,较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

    yum remove docker
    docker-client
    docker-client-latest
    docker-common
    docker-latest
    docker-latest-logrotate
    docker-logrotate
    docker-engine
    安装 Docker Engine-Community
    使用 Docker 仓库进行安装,在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

    安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

    yum install -y yum-utils
    device-mapper-persistent-data
    lvm2
    使用以下命令来设置稳定的仓库。

    yum-config-manager
    --add-repo
    https://download.docker.com/linux/centos/docker-ce.repo
    安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:

    yum install -y docker-ce docker-ce-cli containerd.io
    如果提示您接受 GPG 密钥,请选是。

    要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:

    1、列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。

    yum list docker-ce --showduplicates | sort -r

    docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
    docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
    docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
    docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
    通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。

    yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
    Docke 镜像加速
    国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:

    Docker官方提供的中国镜像库:https://registry.docker-cn.com
    七牛云加速器:https://reg-mirror.qiniu.com
    Ubuntu16.04+、Debian8+、CentOS7
    对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

    {"registry-mirrors":["https://registry.docker-cn.com"]}
    启动 Docker。

    systemctl start docker
    通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。

    docker run hello-world
    安装httpd服务
    搜索镜像

    docker search httpd
    获取镜像

    docker pull httpd
    进入容器内,并运行 ls cd 等命令

    [root@localhost docker]# docker run -it httpd /bin/bash

    root@b4675df78a07:/usr/local/apache2# ls
    bin build cgi-bin conf error htdocs icons include logs modules

    root@b4675df78a07:/usr/local/apache2# cd conf

    root@b4675df78a07:/usr/local/apache2/conf# ls
    extra httpd.conf magic mime.types original

    root@b4675df78a07:/usr/local/apache2/conf# pwd
    /usr/local/apache2/conf

    # 退出容器的 /bin/bash 模式,返回到本地主机
    root@b4675df78a07:/usr/local/apache2# exit
    exit

    查看容器id

    [root@localhost ~]# docker ps -a
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    b4675df78a07 httpd "/bin/bash" 16 minutes ago Exited (0) 16 minutes ago elated_grothendieck
    复制容器文件出来, b4675df78a07 是httpd容器的id ,复制容器内的apache2文件夹到当前目录

    docker cp b4675df78a07:/usr/local/apache2 ./
    修改 httpd.conf配置,ServerName localhost

    [root@localhost docker]# vi apache2/conf/httpd.conf

    # 大概在243 行,修改 ServerName localhost 并取消前面的#号
    ServerName localhost

    :wq 保存退出
    运行镜像,运行容器  

    # $PWD是指 命令运行的当前目录
    # -p 32763:80 前一个32763是本地端口,后一个80是容器内部端口
    # -v 前面的是本地文件:后面的是容器内的文件

    [root@localhost docker]# docker run -p 32763:80 -v $PWD/apache2/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf -v $PWD/apache2/htdocs/:/usr/local/apache2/htdocs/ -v $PWD/apache2/logs/:/usr/local/apache2/logs/ httpd

    # 查看端口,httpd 启动成功
    [root@localhost ~]# netstat -tunlp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp6 0 0 :::32763 :::* LISTEN 3205/docker-proxy

    ########## 如果启动不成功,可以关闭防火墙并切换本地端口在尝试
    启动httpd服务后,我们可以访问该ip:端口,例如 http://10.10.87.244:32763/  ,如下图所示

    查看容器

    # 运行中的容器
    docker ps

    # 所有状态的容器
    docker ps -a
    清空所有没有运行的容器

    docker container prune
    后台运行容器

    在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。 --name 是指定容器的别名

    docker run -itd --name ubuntu-test ubuntu /bin/bash
    容器安装vim,进入容器内部,执行以下命令:

    apt-get update
    apt-get install vim
     

    参考:https://www.runoob.com/docker/centos-docker-install.html

    参考:https://www.cnblogs.com/biaopei/p/10302470.html

    参考:https://blog.csdn.net/weixin_43935079/article/details/85701949

     
    ————————————————
    版权声明:本文为CSDN博主「daily886」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/daily886/java/article/details/103694649

  • 相关阅读:
    Codeforces 1316B String Modification
    Codeforces 1305C Kuroni and Impossible Calculation
    Codeforces 1305B Kuroni and Simple Strings
    Codeforces 1321D Navigation System
    Codeforces 1321C Remove Adjacent
    Codeforces 1321B Journey Planning
    Operating systems Chapter 6
    Operating systems Chapter 5
    Abandoned country HDU
    Computer HDU
  • 原文地址:https://www.cnblogs.com/xuanbjut/p/13355599.html
Copyright © 2020-2023  润新知