docker基础命令,常用操作(代码片段)

yuncong yuncong     2023-02-26     266

关键词:

docker基础命令

使用docker镜像

  • 获取镜像

    从docker registry获取镜像的命令是docker pull。命令格式是:
    docker pull [选项][docker registry地址] 仓库名:标签
    docker register地址:地址的格式一般是 域名:端口,默认地址是docker hub
    仓库名:仓库名是两段格式,用户名/软件名,如果不写用户,默认docker hub用户名是library,也就是官方镜像
  • 列出服务器所有的镜像文件

    # 列出所有的imaga文件
    docker image ls
    等同与
    docker images
    删除所有的image文件
    docker image rm   [imagename]

docker命令学习

  1. 删除docker镜像(必须删除依赖这个镜像的容器记录)

    docker rmi 镜像id/镜像名
  2. 运行镜像,且产生一个容器记录,且进入容器空间内

    docker run  -it  centos  /bin/bash
     -it 交互式的终端,代表我可以在容器中输入命令
     /bin/bash  指定shell解释器
  3. 创建一个容器,在容器内安装一个vim工具

    # 运行镜像,
    docker run -it centos /bin/bash
    # 安装vim
    yum install vim 
    
    #退出
    exit
  4. 提交这个容器,创建新的image

    docker commit 059fdea031ba chaoyu/centos-vim
    # 059fdea031ba 为上述容器id,  后面的是新的image文件名
  5. 查看已提交的镜像记录

    docker images
  6. 基于这个拥有vim的镜像,创建新的容器

    docker run -it 479  /bin/bash
    # 479 为拥有vim的镜像id,  后续为路径
  7. 导出当前系统的镜像文件,可以传输给其他人

    docker save shenzhenqishi1qi/centos-vim    > /opt/centos-vim.tar.gz
  8. .其他人或者自己可以导入这个镜像文件

    docker load < /opt/centos-vim.tar.gz
  9. 创建启动容器的方式有2种

    1.基于镜像创建新的容器
    2.对于已运行的容器,进行启停
    docker stop 容器id
    docker start 容器id
  10. 运行centos镜像生成容器并执行 echo hehe

    #这条命令意思是:创建一个只运行一次的容器
    docker run centos /bin/echo "hehe" 
  11. 运行一个容器记录,且给与名字

    docker run --name mydocker -it centos /bin/bash#启动一个bash终端,允许用户进行交互
  12. 运行一个ubuntu容器

    1.查看系统的版本信息
    cat /etc/redhat-release  #这个命令查看红帽系列的系统
    cat /etc/os-release
    2.运行一个ubuntu容器
    docker run -it  ubuntu  /bin/bash 
  13. 删除容器记录

    docker rm  容器id
    docker  -aq  #列出所有容器记录的id
    docker stop  `docker ps -aq`  #停止所有正在运行的容器
    docker  rm `docker ps -aq`    #一次性删除所有容器记录
    docker rmi  `docker images -aq`   #一次性删除所有本地的镜像记录
  14. 暴露容器端口,端口映射

     -P 参数会随机映射端口到容器开放的网络端口
     docker run -d -P training/webapp python app.py
         -d 后台运行 
         -P  端口映射, 随机映射 ,物理机的随机端口:容器内暴露的端口
    
    
     如果本地没有镜像文件,docker run会自动帮我们下载镜像
     在docker run centos  
    
    
    [[email protected] ~]# docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
    e3e0be2b22a8        training/webapp     "python app.py"     2 seconds ago       Up 1 second         0.0.0.0:32769->5000/tcp   qishiweb
    
    只要我访问宿主机的32769端口也就是访问到了容器内的5000端口
  15. 指定端口映射,启动容器应用

    docker run -d -p 9999:5000 --name my9999webapp training/webapp python app.py
  16. training/webapp 这个镜像文件,我们基于这个镜像,运行了一个flask web app

    1.基于ubuntu 14.04的操作系统   FROM ubuntu:14.04
    2.默认进入了/opt/webapp目录    RUN   cd /opt/webapp 
    3.在这个目录下存放了Procfile  app.py  requirements.txt  tests.py
    4.通过容器内的命令,运行一个后台程序  python  app.py 
    5.最终这个镜像,生成了一个web容器
    6.数据挂载 
    -v   宿主机的文件夹:容器内的文件夹
    -p  端口映射  宿主机的端口:容器内的端口
    7.  docker port  82e  查看容器的端口映射关系
  17. 发布docker镜像到docker hub

    1.登录odcker hub仓库,注册一个用户,用于存放自己的docker镜像
    2.在linux中登录docker
     docker login #输入账号密码
    
    3.修改本地镜像的名字,推送到docker hub 
    docker tag docker.io/hello-world   yuchao163/qishi1qi-hello-docker
    
    4.推送本地镜像到共有仓库
    docker push yuchao163/qishi1qi-hello-docker  
    
    5.仍和人都可以随意下载这个镜像  
     docker pull yuchao163/qishi1qi-hello-docker
  18. 搭建私有docker仓库,提交本地镜像

    1.下载一个docker官方私有仓库镜像
    docker pull registry
    2.运行一个docker私有容器仓库
    docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry  registry
        -d 后台运行 
        -p  端口映射 宿主机的5000:容器内的5000
        -v  数据卷挂载  宿主机的 /opt/data/registry :/var/lib/registry 
        registry  镜像名
    3.修改docker的配置文件,让他支持http方式,上传私有镜像
        vim /etc/daemon.json 
        写入如下内容
                
                "registry-mirrors": ["http://f1361db2.m.daocloud.io"],
                "insecure-registries":["192.168.11.37:5000"]
            
    4.修改docker的服务配置文件
        vim /lib/systemd/system/docker.service
        找到[service]这一代码区域块,写入如下参数
        [Service]
        EnvironmentFile=-/etc/docker/daemon.json
    5.重新加载docker服务
        systemctl daemon-reload
    6.重启docker服务
        重启docker服务,所有的容器都会挂掉
        重启docker服务,所有的容器都会挂掉
        重启docker服务,所有的容器都会挂掉
    
        systemctl restart docker
    
    7.修改本地镜像的tag标记,往自己的私有仓库推送
        docker tag docker.io/yuchao163/hello-world-docker    192.168.11.37:5000/xiayuhao
    8.下载私有仓库的镜像
    docker pull 192.168.11.37:5000/xiayuhao
  19. 编写dockerfile,构建自己的镜像,运行flask程序

    1.在宿主机中,编写一个flask代码文件,和Dockerfile
    cd /opt/dockertest/
    touch flasktest.py 
        from flask import Flask
        app=Flask(__name__)
        @app.route('/')
        def hello():
        return "i love china"
        if __name__=="__main__":
        app.run(host='0.0.0.0',port=8080)
    
    
    
    2.构建dockerfile
        1.指引一个基础的系统镜像centos 
        2.定义作者标签
        3.解决环境依赖关系,安装python-setuptools
        4.安装flask模块  easy_install  flask 
        5.准备代码文件到容器中   COPY  flasktest.py   /opt/ 
        6.切换到/opt目录下 workdir  /opt 
        7.运行代码  python flasktest.py 
    
    3.dockerfile内容如下
    [[email protected] dockertest]# cat Dockerfile 
        FROM centos
        LABEL maintainer="深圳骑士1期"
        RUN yum install python-setuptools -y 
        RUN  easy_install flask 
        COPY  flasktest.py   /opt/
        WORKDIR /opt
        EXPOSE 8080  
        CMD ["python","flasktest.py"]
    
    4.构建镜像文件,找到当前目录的Dockerfile,开始构建
    docker build  -t  qishi1qi/flask-web    .  
    
    
    5.基于这个镜像,生成容器实例
    docker run -d -p  7777:8080    945
    
    6.推送这个镜像到私有仓库
    docker tag  qishi1qi/flask-web   192.168.11.37:5000/qishi1qi-flaskweb
    docker push 192.168.11.37:5000/qishi1qi-flaskweb
    

docker基础和常用命令(代码片段)

一,Docker简介1.1,什么是DockerDocker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及OverlayFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其... 查看详情

docker基础命令,常用操作(代码片段)

docker基础命令使用docker镜像获取镜像从dockerregistry获取镜像的命令是dockerpull。命令格式是:dockerpull[选项][dockerregistry地址]仓库名:标签dockerregister地址:地址的格式一般是域名:端口,默认地址是dockerhub仓库名:仓库名是两段格式... 查看详情

docker常用命令(代码片段)

一、Docker镜像操作基础命令[root@localhost~]#dockersearch镜像名称//搜索镜像(在dockerhub官网上进行查找)[root@localhost~]#dockerpull镜像名称//下载镜像(如果不指定镜像标签默认下载最新版的镜像)[root@localhost~]#dockerpush仓库名称/仓库账... 查看详情

01.docker原理部署及常用操作命令(代码片段)

原文:01.Docker原理部署及常用操作命令1|0Docker的来源及构造:容器是一种基础工具:泛指任何用于容纳其他物品的工具,可以部分或完全封闭,被用于容纳,储存,运输物品: 物品可以被放置在容器中,而容器可以保护内容物:... 查看详情

docker基础命令(代码片段)

Docker常用命令介绍1、docker常用命令命令作用dockersearch查询镜像dockerpull从网上拉取镜像dockercreate创建容器dockerps查看容器进程dockerstart启动容器进程dockerstop终止容器进程dockerlogs查看日志dockerimages查看docker中的镜像dockerrm删除镜像do... 查看详情

docker常用命令大全(持续更新)(代码片段)

文章目录一、docker操作二、镜像操作三、容器操作结尾一、docker操作启动dockersystemctlstartdocker重启dockersystemctlrestartdocker停止dockersystemctlstopdockerdocker开机自启动chkconfigdockeron二、镜像操作查找镜像dockersearch<IMAGE_ID/NAME>下载镜像... 查看详情

docker常用指令和镜像操作详解一文速学+实例代码(代码片段)

目录前言一、Docker基础命令1.启动docker 2.查看状态 3.关闭docker 4.开机自启 5.查看版本信息 6.查看帮助二、Docker镜像命令1.查看docker镜像 2.搜索镜像搜索不小于10000星的busybox的镜像 format格式化输出 限制搜索输出个数 禁止截... 查看详情

docker基础命令详解——镜像及容器操作(代码片段)

Docker基础命令详解——镜像及容器操作前言?上篇文章介绍了有关Docker的基础与Linux下docker的安装,本文主要讲解安装docker后的基础使用方法以及命令的介绍,主要是docker镜像操作及容器操作命令。?当然,docker的相关命令非常多... 查看详情

dockerreview-docker容器常用命令(代码片段)

...容器相关的命令下载一个centos的基础镜像新建容器并启动dockerrun操作说明启动并进入容器查看当前有哪些容器正在运行dockerps启动容器停止容器重启容器强制停止进入容器退出容器删除容器删除所有停止的容器其他常用命令查看... 查看详情

docker常用命令小记(代码片段)

欢迎访问我的GitHub本篇概览除了基本的dockerpull、dockerimage、dockerps,还有一些命令及参数也很重要,在此记录下来避免遗忘。环境信息以下是本次操作的环境:操作系统:CentOSLinuxrelease7.7.1908Docker:19.03.2假设当前环境正运行着两... 查看详情

docker基础命令(代码片段)

Docker基础命令Docker基础命令1、查看Docker版本信息2、镜像操作搜索镜像下载镜像查看镜像信息/获取镜像信息添加新标签(打标签)删除镜像将镜像存储到本机上,命名为nginx_latest载入镜像上传镜像3、容器操作查询容... 查看详情

关于docker那点事儿——docker基础命令(代码片段)

文章目录前言一、docker安装docker配置文件详解二、常用docker命令1、dockerimage命令2、dockerrun命令3、常用命令三、docker网络1、docker修改默认网段2、不同宿主机下docker互通四、docker数据目录迁移前言官方文档:https://docs.docker.com... 查看详情

docker常用命令(代码片段)

1操作仓库1.1从仓库上下载镜像资源到本地dockerpull****1.2推送本地镜像到仓库dockerpush****2操作镜像2.1查看所有镜像dockerimages2.2删除镜像dockerrmi****2.3根据dockerfile构建镜像dockerbuild-t[镜像名称].2.4强制删除镜像dockerrmi-f****2.5查看镜像的... 查看详情

docker常用命令(代码片段)

docker的常用命令帮助命令镜像命令查看镜像搜索镜像下载镜像删除镜像容器命令新建容器并启动列出所有运行的容器退出容器删除容器启动和停止容器的操作查看容器中的进程信息查看镜像的元数据进入当前正在运行的容器将容... 查看详情

docker常用命令(代码片段)

docker的常用命令帮助命令镜像命令查看镜像搜索镜像下载镜像删除镜像容器命令新建容器并启动列出所有运行的容器退出容器删除容器启动和停止容器的操作查看容器中的进程信息查看镜像的元数据进入当前正在运行的容器将容... 查看详情

docker常用命令(代码片段)

文章目录Docker命令帮助命令操作选项管理命令普通命令docker中使用镜像并创建容器的过程细谈dockerrunDocker命令帮助命令我们输入docker就能查看所有选项和命令:操作选项Options:--configstringLocationofclientconfigfiles(default"/root/.dock... 查看详情

docker基础命令学习(代码片段)

Docker学习Docker简介虚拟机和Linux容器Docker中基本概念镜像(Image)容器(Container)仓库(Repository)分层存储Docker的安装Centos6安装DockerCentos7安装Docker配置阿里云镜像加速器配置HelloWorld镜像底层运行原理Docker常用命令帮助命令dockerversion---查... 查看详情

docker基础命令(代码片段)

Docker常用命令学习网站:https://yeasy.gitbook.io/docker_practice/查看所有镜像:“dockerimages”删除imagedockerrmiIMAGEID若上步无法删除,则需要先删除运行过该images的container,先利用“dockerps-a”查看退出的container;再利用“dockerrmCONTAINERID... 查看详情