zoukankan      html  css  js  c++  java
  • docker基础命令

    docker结构分为仓库、镜像、容器

    仓库:可以注册一个docker.hub的账号,创建一个自己的仓库

    镜像结构:

    registry_name/repository_name/image_name:tag_name
    比如 docker.io/library/alpine:lastest

    docker命令

    1.docker info

    显示docker目前各种状态

    2.镜像管理

    docker login docker.io #登录registry 
    
    docker search image_name   #搜索image_name 
    
    docker pull  image_name(:tag) #下载镜像
    
    docker tag f70734b6a266 docker.io/dhc102802/alpine:test #给镜像打标签,使用的是image id,打的标签要有完整镜像路径
    
    docker images  #查看本地镜像
    
    docker pull docker.io/dhc102802/alpine:test  #推送镜像,前提是标签打好,并且login完成
    
    docker rmi image_name #删除本地镜像的对应tag
    
    docker rmi image id  #删除本地镜像
    
    docker save image-id -0 alpine.tar.gz  #导出镜像为tar包,但是没有标签和名称
    docker save -o my.tar.gz  docker.io/dhc102802/alpine_with:test  #带有标签和名称
    docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
    docker save image-id > alpine.tar.gz
    docker load < alpine_with.tar.gz #导入包,或者-i 替换<
    #导入后包是没有镜像仓库名和tag的,需要重新tag
    
    
    

    3.容器操作

    docker ps #查看docker启动的容器进程
    	-a   #查看所有的
    	-l   #最近的
    	-q   #只显示容器启动的容器id
    	
    docker run #使用最多的命令
    	Usage:	docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    	-i 启动一个交互容器
    	-t 使用争端关联到输入输出
    	-it  这个一般都是合在一起使用
    	-d 放在后台
    	-rm 推出后立刻删除容器
    	-name 定义名称
    	-p 对应端口
    	-v 挂载的文件
    	--restart=always 自动重启
    docker run -it -d dhc102802/alpine:test /bin/sh #启动容器
    
    docker exec -it 487e772e40d0 /bin/sh #进入容器
    
    ctrl+d 退出不删除
    exit 同样
    
    docker stop container—id 关闭容器
    docker start container—id 启动容器
    docker restart container—id 重启容器
    docker rm container—id|name删除容器
    docker rm -f container—id|name 删除容器
    
    docker commit -p 487e772e40d0 dhc102802/alpine:with_change #保存修改的镜像
    	-p 是保存的时候,不会写入新的内容
    	docker commit continer—id|container—name image-name  #格式
     以后启动dhc102802/alpine:with_change 这个镜像就是已经修改过的了
    docker logs container-id 打印容器日志
    	-f 动态输出,和tail -f一样
    

    4.重要操作

    我把一些比较重要得操作单独放在这里分类
    
    #映射端口
     docker run -p 容器外端口:容器内端口
     docker run -it  --name my-nginx -d -p 100:80 dhc102802/nginx:v1  #将nginx得80端口对应到宿主机得100端口
     
    #挂载数据卷
    docker run -v 
    docker run -d -it --name nginx_baidu -p 81:80 -v /root/html:/usr/share/nginx/html dhc102802/nginx:v1  #挂载了鲁下来的百度主页
    
    #查看容器的详细信息
    docker inspect fad7ab4c518d 
    
    #传递环境变量 (很重要)
    生产环境下,可以只使用一个底包,根据需要设置不通的环境变量
    docker run --rm -e dhc=123 dhc102802/nginx:v1 printenv
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    HOSTNAME=d710cca3afc0
    dhc=123
    NGINX_VERSION=1.12.2-1~stretch
    NJS_VERSION=1.12.2.0.1.14-1~stretch
    HOME=/root
    
    #软件内安装服务
    #以nginx镜像为列,系统为debian
    1.更新源
    tee /etc/apt/sources.list << eof
    deb http://mirrors.ustc.edu.cn/debian stretch main contrib non-free
    deb http://mirrors.ustc.edu.cn/debian stretch-updates main contrib non-free
    eof
    2.安装需要的服务
    apt-get update && apt-get install curl -y   #需要先更新才能安装
    后面一般会进行commit + save
    
    ## echo "APT::Get::AllowUnauthenticated 1 ;" >>/etc/apt/apt.conf    #一直install 报错-y forse-yes报错,加了这个就好了
    
    
  • 相关阅读:
    27. Remove Element
    26. Remove Duplicates from Sorted Array
    643. Maximum Average Subarray I
    674. Longest Continuous Increasing Subsequence
    1. Two Sum
    217. Contains Duplicate
    448. Find All Numbers Disappeared in an Array
    566. Reshape the Matrix
    628. Maximum Product of Three Numbers
    UVa 1349 Optimal Bus Route Design (最佳完美匹配)
  • 原文地址:https://www.cnblogs.com/dinghc/p/12971350.html
Copyright © 2011-2022 走看看