美文网首页
docker(一)---docker入门

docker(一)---docker入门

作者: lannisiter | 来源:发表于2020-07-19 13:41 被阅读0次

    docker是什么

    这里用简单的几句话描述docker做了什么事情。

    • docker是一个可以创建、管理容器的东西。可以理解为docker里面存放了许多容器
    • 容器就是一个精简版的linux系统,这个系统只有基本的环境供以使用,里面可以运行程序(可以是mysql,可以是nginx,可以是redis等)。
    • 容器的创建是依赖于镜像的,镜像可以看作是一个模板,docker可以根据镜像生成一个容器实例,假如你需要一个容器中放入mysql,那么就去docker的镜像仓库拉取一个mysql镜像(可指定版本),然后docker可以基于这个镜像创建一个mysql容器,这样就能在docker中运行使用一个只含有mysql的系统了。
    • 容器的存在使我们可以方便做很多事情,比如项目需要mysql、nginx环境来运行,可以直接创建mysql和nginx容器供项目使用,不需要在服务器上下载、安装、配置这些环境,容器内部已经包含了这些必备的东西。同时容器还可以很方便的移植,比如我们需要切换服务器,这些项目正在使用的容器可以直接打包带走放在另一个服务器上。

    docker安装

    • 如果机器安装过docker先卸载旧版

      $ sudo yum remove docker \
                        docker-client \
                        docker-client-latest \
                        docker-common \
                        docker-latest \
                        docker-latest-logrotate \
                        docker-logrotate \
                        docker-engine
      
    • 使用存储库安装

      在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。

      安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。

      $ sudo yum install -y yum-utils
      # 这是官方的源(比较慢),也可以选择其它源。
      $ sudo yum-config-manager \
          --add-repo \
          https://download.docker.com/linux/centos/docker-ce.repo
      # 这是阿里的源
      $ sudo yum-config-manager \
          --add-repo \
          http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      
    • 安装Docker Engine-Community

      # 最新版安装
      $ sudo yum install docker-ce docker-ce-cli containerd.io
      
    • 安装完成后,运行下面的命令,验证是否安装成功。
    $ docker version
    # 或者
    $ docker info
    

    Hello Word

    比如现在需要一个nginx,首先执行

    docker pull nginx  # 默认最新版,如果需要指定版本,直接 nginx:version
    

    拉取成功之后,可以使用docker images查看

    [root@izbp109k5j3dul0ejalpf5z html]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    nginx               latest              4571e56e27f0        2 days ago          132MB
    

    然后启动容器

    [root@izbp109k5j3dul0ejalpf5z html]# docker run nginx       # 启动nginx容器
    

    启动成功后查看容器dockers ps

    docker常用命令

    • 查看容器信息

      ##查看docker容器版本
      docker version
      ##查看docker容器信息
      docker info
      ##查看docker容器帮助
      docker --help
      
    • 列举一个镜像操作

      ##列出本地images
      docker images
      ##含中间映像层
      docker images -a
      
      ##下载Redis官方最新镜像,相当于:docker pull redis:latest
      docker pull redis
      ##下载仓库所有Redis镜像
      docker pull -a redis
      
      ##单个镜像删除,相当于:docker rmi redis:latest
      docker rmi redis
      ##强制删除(针对基于镜像有运行的容器进程)
      docker rmi -f redis
      ##多个镜像删除,不同镜像间以空格间隔
      docker rmi -f redis tomcat nginx
      ##删除本地全部镜像
      docker rmi -f $(docker images -q)
      
    • 容器操作

      ##新建并启动容器,参数:-i  以交互模式运行容器;-t  为容器重新分配一个伪输入终端;--name  为容器指定一个名称
      docker run -i -t --name mycentos
      ##后台启动容器,参数:-d  已守护方式启动容器
      docker run -d mycentos
      
      ##启动一个或多个已经被停止的容器
      docker start redis
      ##重启容器
      docker restart redis
      
      ##进入容器
      docker exec -i -t  centos /bin/bash
      
      ##查看正在运行的容器
      docker ps
      ##查看正在运行的容器的ID
      docker ps -q
      ##查看正在运行+历史运行过的容器
      docker ps -a
      ##显示运行容器总文件大小
      docker ps -s
      
      ##停止一个运行中的容器
      docker stop redis
      ##杀掉一个运行中的容器
      docker kill redis
      ##删除一个已停止的容器
      docker rm redis
      ##删除一个运行中的容器
      docker rm -f redis
      ##删除多个容器
      docker rm -f $(docker ps -a -q)
      docker ps -a -q | xargs docker rm
      ## -l 移除容器间的网络连接,连接名为 db
      docker rm -l db 
      ## -v 删除容器,并删除容器挂载的数据卷
      docker rm -v redis
      

    相关文章

      网友评论

          本文标题:docker(一)---docker入门

          本文链接:https://www.haomeiwen.com/subject/caulkktx.html