zoukankan      html  css  js  c++  java
  • 初识 docker

    一、安装Docker

      我使用的是腾讯云上的centos 7。

      docker -v 查看是否已经安装有docker

      如果有 systemctl stop docker 停止docker服务

      查看当前版本 rpm -qa | grep docker

      卸载 docker

      yum erase docker docker-client  docker-client-latest  docker-common  docker-latest  docker-latest-logrotate  docker-logrotate  docker-selinux docker-engine-selinux  docker-engine docker-ce

      删除一些相关的配置

    find /etc/systemd -name '*docker*' -exec rm -f {} ;
    find /etc/systemd -name '*docker*' -exec rm -f {} ;
    find /lib/systemd -name '*docker*' -exec rm -f {} ;
    rm -rf /var/lib/docker #删除以前已有的镜像和容器,非必要
    rm -rf /var/run/docker 

      接下来就是安装了:

      更新yum源: yum update

      安装工具:yum install -y yum-utils device-mapper-persistent-data lvm2 

      添加docker-ce的yum源 : yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo,完成后会在/etc/yum.repo.d/下多了docker-ce.repo

      yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

      查看docker-ce 版本:  yum list docker-ce --showduplicates | sort -r

      

      使用命令 yum install docker-ce-version 安装相应版本的docker: yum install -y docker-ce-18.06.3.ce

       查看docker版本:docker version

       

      我安装完运行docker命令的时候提示:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 

       解决办法:  

        systemctl daemon-reload 
        service docker restart

      查看docker状态

      

      最后可以用 docker run hello-world 测试docker是否正常可用。

      

    二、docker镜像加速器配置

      由于国内访问docker官方镜像慢的原因,通常需要配置国内的镜像加速器,我使用的是阿里云的镜像加速器 :

      https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

      具体配置在阿里云的镜像加速器有操作文档,下面是我centos的配置

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["镜像加速器URL"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

    三、docker 常用命令

      docker --version 查看当前安装docker版本号

      docker info 显示 Docker 系统信息,包括镜像和容器数。。

      docker version 显示 Docker 版本信息

      docker ps 查看当前正在运行的容器

      docker images 查看本地所有的镜像

      docker run 运行一个容器:

        docker run ubuntu:15.10 /bin/echo "Hello world" : /bin/echo "Hello world" 为在启动的容器里执行的命令,ubuntu为镜像名称,15.10位Tag,不指定Tag则默认为latest

        docker run -i -t ubuntu:15.10 /bin/bash : -t 在新容器内指定一个终端,-i 允许对容器内的stdin进行交互

        docker run -p hostport:containerport -d --name containername image : hostport 为宿主机对外的端口号,将containnerport容器中的端口号映射出去被外界访问,-d 为detach,指定后会在后台运行,containnername指定容器名称,image为镜像文件名称

        docker logs ad3b66b77b56:查看容器id 为 ad3b66b77b56 的日志

      docker stop ad3b66b77b56 :停止id为docker stop ad3b66b77b56的容器,id也可以是name

      docker start ad3b66b77b56 :启动容器

      docker rm ad3b66b77b56 : 移除容器

      docker inspect ad3b66b77b56 : 查看底层信息

      docker pull 从镜像仓库拉取镜像到本地

        docker pull ubuntu:15.10

        docker pull httpd

      docker rmi -f fce289e99eb9 删除本地image id 为fce289e99eb9 的镜像

      docker search nginx :查找镜像

      docker exec -it containerId/containerName /bash  进入容器内部

      docker --help 查看命令帮助

    四、安装Nginx

      docker pull nginx 从仓库拉取nginx镜像

      docker run --name nginx-test -p 8081:80 -d nginx 使用 NGINX 默认的配置来启动一个 Nginx 容器实例

      

      接着可以在浏览器上访问8081端口

      

      

        部署nginx

      创建本机的nginx目录,www: 目录将映射为 nginx 容器配置的虚拟目录,logs: 目录将映射为 nginx 容器的日志目录。conf: 目录里的配置文件将映射为 nginx 容器的配置文件。

        mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

      将docker容器中的nginx配置文件复制到本地: docker cp bb7cfa275000:/etc/nginx/nginx.conf ~/nginx/conf/

      运行命令

        docker run -d -p 8082:80 --name nginx-test-web -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx

      •   -p 8082:80: 将容器的 80 端口映射到主机的 8082 端口。

      •   --name runoob-nginx-test-web:将容器命名为 runoob-nginx-test-web。

      •   -v ~/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。

      •   -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。

      •   -v ~/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。

      最后就可以在我们创建的~/nginx/www目录下创建自己的html文件了。

      

  • 相关阅读:
    【bzoj1029】[JSOI2007]建筑抢修
    【bzoj2748】[HAOI2012]音量调节
    【bzoj1041】[HAOI2008]圆上的整点
    【bzoj2743】[HEOI2012]采花
    【bzoj1034】[ZJOI2008]泡泡堂BNB
    【bzoj1260】[CQOI2007]涂色paint
    【bzoj2728】[HNOI2012]与非
    【bzoj2003】[Hnoi2010]Matrix 矩阵
    【bzoj1028】[JSOI2007]麻将
    利用adb截屏
  • 原文地址:https://www.cnblogs.com/jesen1315/p/11162182.html
Copyright © 2011-2022 走看看