• Docker常规操作命令(常用)


    1、Docker操作常用命令

    在这里插入图片描述

    1.1、镜像操作命令(下载、查看、删除)

    docker hub,找到nginx镜像。在Tags页面找不同版本的镜像
    在这里插入图片描述

    #1、下载最新版本镜像
    docker pull nginx  
    docker pull redis
    
    # 2、下载指定版本的镜像
    
    docker pull nginx:1.20.1  #镜像名:版本名(标签)
    docker pull redis:6.2.4
    
    #3、查看本地所有镜像(下载来的镜像都在本地)
    docker images  
    
    redis = redis:latest
    
    # 4、删除镜像
    docker rmi 镜像名:版本号
    docker rmi 镜像id
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 拉取镜像
      在这里插入图片描述
    • 拉取指定版本镜像
      在这里插入图片描述
    • 查看本地的镜像

    在这里插入图片描述

    • 删除镜像
      在这里插入图片描述

    1.2、容器操作命令

    特别命令(linux命令)

    # 重启操作系统
    reboot
    
    • 1
    • 2
    docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    【docker run  设置项   镜像名  】 镜像启动运行的命令(镜像里面默认有的,一般不会写)
    
    # -d:后台运行
    # --restart=always: 开机自启
    # --name=mynginx :设置启动后容器的名
    # 88是宿主机端口,80是容器端口
    docker run --name=mynginx   -d  --restart=always -p  88:80   nginx 
    	
    
    
    # 2、查看正在运行的容器
    docker ps
    
    # 3、查看所有
    docker ps -a
    
    # 4、删除停止的容器
    docker rm  容器id/名字
    docker rm -f mynginx   #强制删除正在运行中的
    
    # 5、停止容器
    docker stop 容器id/名字
    
    # 6、启动容器
    docker start 容器id/名字
    
    #7、如果启动容器时,未设置开机自启,则可用以下命令设置应用开机自启
    docker update 容器id/名字 --restart=always
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    启动容器:
    在这里插入图片描述

    在这里插入图片描述

    1.3、修改容器内部内容

    例如:修改容器中nginx的index.html页面

    1.3.1、进容器内部修改

    # 进入启动的容器内部,修改容器内容  
    # -it 以交互模式进入容器 
    # /bin/bash  进入容器控制台
    # 容器id  这里的容器id是已经启动的容器的id
    
    docker exec -it 容器id  /bin/bash
    
    # 进入容器中nginx的首页
    cd /usr/share/nginx/html
    
    修改nginx首页的内容
    echo "<h1>Welcome To Chinah1>" > index.html
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述在这里插入图片描述访问容器中linux的首页

    在这里插入图片描述

    1.3.2、挂载数据到外部修改

    意思是建容器内的文件与宿主机建立一种联系,在宿主机修改文件,可以影响到容器内部文件的数据

    # -v /data/html:/usr/share/nginx/html:ro
    # 挂载  宿主机文件存放路径:容器内要挂载的文件存放路径:容器内只能可读(rw:容器内可读写)
    
    docker run --name=mynginx -d --restart=always -p  88:80 -v /data/html:/usr/share/nginx/html:ro nginx
    
    
    
    # 修改页面只需要去宿主机的 /data/html文件夹下,使用以下命令给index.html写入内容“111”
    echo 111 >index.html
    
    #我们再去访问容器内的nginx的首页,浏览器就会输出111
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    1.4、发布镜像

    将自己修改好的镜像提交(先存到本地仓库)

    # 首先查看刚刚修改过的镜像的id(1.3中修改的镜像)
    docker ps
    
    # 提交修改过的镜像 -a:指明作者  -m:修改的内容
    docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]  
    # 容器id 刚刚修改的id,例如下图的nginx
    # mynginx:2.0 指定推送后的镜像的 镜像名:版本号为
    docker commit -a "zhangsan"  -m "改变首页输出内容" 容器id mynginx:2.0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    • 查看本地的镜像,刚刚提交的镜像已存储到本地仓库
    docker images
    
    • 1

    在这里插入图片描述

    • 启动新提交的镜像,并以交互命令进入启动后的容器
    docker run --name=mynginx3   -d  --restart=always -p  90:80   mynginx:2.0
    
    docker exec -it 29be6ff9a4f947a9cda043795daafbf8733357bd8f83ea03eefe6e384b4bc4c6 /bin/bash
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    在物理机访问刚刚启动的容器

    在这里插入图片描述

    1.5、镜像打包,服务器之间传输

    将镜像打包,传输到别的服务器,在别的服务器docker中使用该镜像

    # 1、将镜像保存成压缩包
    docker save -o abc.tar nginx:v2.0
    
    # 2、离线安装,通过u盘拷贝
    
    # 别的机器加载这个镜像
    docker load -i abc.tar
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 将镜像打包
    docker ps
    docker save -o abc.tar nginx:v2.0
    
    • 1
    • 2

    在这里插入图片描述

    • 查看打包后的镜像
    ls
    
    • 1

    在这里插入图片描述

    • 将在服务器1(192.168.126.129)上打包的容器传输到服务器2(192.168.126.130):
    # 第一个root指192.168.126.130的root账号,第二个root是值将abc.tar放到主机192.168.126.130的root目录下
    
    scp abc.tar root@192.168.126.130:/root/
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    • 在别的服务器上使用该镜像
    docker load -i abc.tar
    
    • 1

    1.6、将镜像推送到docker hub仓库

    推送镜像到docker hub;应用市场

    # docker 官方命令
    docker tag local-image:tagname new-repo:tagname
    docker push new-repo:tagname
    
    • 1
    • 2
    • 3

    实际命令

    #首先查看本地有的镜像
    docker images
    
    # 把旧镜像的名字(nginx2:v2.0),zhansan为你的docker hub登录名,改成要推到docker仓库的新版名字(nginx:v1.0)
    docker tag mynginx:2.0  zhansan/nginx:v1.0
    
    # 登录到docker hub,依次你的docker hub账号密码
    docker login       
    
    
    # 推送       docker hub登录名/仓库:镜像版本
    docker push  zhangsan/nginx:v1.0
    
    # 推送完成镜像后退出
    docker logout
    
    
    # 别的机器下载
    docker pull zhangsan/nginx:v1.0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    在这里插入图片描述

    1.7、查看容器的日志

    docker logs  容器id/容器名
    
    • 1

    在这里插入图片描述

    1.8、将容器内的nginx的首页、配置文件挂载到宿主机上

    命令中的nginx.conf提前在宿主机指定位置创建

    # 下边命令是docker启动命令
    # docker 经常修改nginx配置文件
    docker run -d -p 80:80 \
    -v /data/html:/usr/share/nginx/html:ro \
    -v /data/conf/nginx.conf:/etc/nginx/nginx.conf \
    --name mynginx-02 \
    nginx
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    1.9、容器和宿主机之间完成文件复制

    #把容器指定位置的东西复制出来 
    docker cp 5eff66eec7e1:/etc/nginx/nginx.conf  /data/conf/nginx.conf
    
    #把外面的内容复制到容器里面
    docker cp  /data/conf/nginx.conf  5eff66eec7e1:/etc/nginx/nginx.conf
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    Pytorch源码编译Libtorch
    走好数据中台最后一公里,为什么说数据服务API是数据中台的标配?
    量子计算(七):量子系统
    final跟finally和finalize有什么区别
    Go 1.22 中的 for 循环新特性详解
    详解C++ 循环
    (41)STM32——外部SRAM实验笔记
    HTTP1.1强制缓存和协商缓存
    中间件安全-CVE复现&Weblogic&Jenkins&GlassFish漏洞复现
    C //习题 6.7 输出“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。
  • 原文地址:https://blog.csdn.net/qq_46112274/article/details/126130183