zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    sharepoint的webpart开发
    触发器-插入不重复数据2
    触发器-插入不重复数据
    InfoPath本地发布及部署
    从30岁到35岁:为你的生命多积累一些厚度
    js中的forin
    js中的prototye
    无法绑定由多个部分组成的标示符
    Spring注入方式及用到的注解
    ( 转)mappingResource属性和mappingDirectoryLocations属性的使用
  • 原文地址:https://www.cnblogs.com/xuanbjut/p/13355599.html
Copyright © 2011-2022 走看看