微信扫一扫 分享朋友圈

已有 177 人浏览分享

开启左侧

Docker常用命令实战

[复制链接]
177 0
1、常用命令
image.png
2、基础实战
1. 找镜像(docker hub)并下载(docker pull):

1.例如:下载nginx和redis,去docker hub找到nginx和redis镜像
    docker pull nginx  #默认下载最新版
    docker pull redis  #默认下载最新版
    //如果要下载指定版本:镜像名:版本名(也叫标签);例如:docker pull nginx:1.20.1

2.查看下载的镜像(docker images)都保存在本地
docker images  #查看所有镜像

image.png
3.删除下载的镜像(docker rmi),并再次查看
    docker rmi 镜像名;
    # 例如:docker rmi redis (nginx等价于nginx:latest)删除的是最新版本

    # 如果删除指定版本呢?
    docker rmi 镜像名:版本号/镜像id

image.png
2.  启动容器:
1. 启动(docker run)
    docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    # 解释:【docker run  设置项   镜像名  】 镜像启动运行的命令(镜像里面默认有的,一般不会写)
    # 例:docker run --name=mynginx -d --restart=always -p  88:80 nginx
       # --name=mynginx设置名字
       # -d:后台运行
       # --restart=always: 开机自启
       # -p  88:80 把主机的88端口转到80端口   
    # 启动nginx应用容器,真正的运行起来;并映射88端口,测试的访问

2.停止运行
    # 停止容器
    docker stop 容器id/名字
    # 再次启动
    docker start 容器id/名字

3.查看正在运行的容器
docker ps

​4. 查看docker运行的和停止的容器
docker ps -a

5.删除(docker rmdocker )
    # 删除停止的容器
    docker rm  容器id/名字
    # 强制删除正在运行中的
    docker rm -f mynginx   

​​​6.补充
    # 如果才开始没有设置开机自启怎么办?更新一下设置项
    docker update 容器id/名字 --restart=always

3. 修改容器内容:修改默认的index.html 页面
方法1:进入到容器里去修改
1.通过公网IP192.168.2.129,88端口去访问nginx

image.png
2.  修改默认的index.html 页面
进入容器内部修改
    # 进入容器内部的系统,修改容器内容
    docker exec -it 容器id  /bin/bash
      # -it表示已交互模式进入容器
      #  /bin/bash 进入容器的bash控制台(相当于linux下的另一个小型linux环境)

    cd /usr/share/nginx/html #然后ls,里面有一个index.html
    echo "<h1>Welcome to China</h1>"  > index.html #<h1></h1>表示标题
    # 改好页面以后,exit就可以退出!

image.png
通过公网IP192.168.2.129,88端口去访问nginx,就会发现页面修改成功
image.png
方法2:命令挂载:在主机外面修改

1.把容器里的目录与当前目录建立起链接
    docker run --name=mynginx -d --restart=always -p  88:80 \
    -v /data/html:/usr/share/nginx/html :ro nginx
    # -v 后面表示把主机的目录挂载到容器里的目录,和端口的方式很相似;
    # /data/html主机目录
    # /usr/share/nginx/html容器目录
    # ro 表示容器里不能改,只能在容器外进行更改

image.png
2.此时cd /data/html页面,ls里面什么都没有;因为主机是空的,容器也是空

image.png
3.然后进行追加修改,生成一个index.html页面
image.png
4.此时再去访问,也可以做到修改
image.png
4.提交改变:将自己修改好的镜像提交
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
1. 通过docker commit --help查看帮助文档

image.png
2. 提交并设置
image.png
3. 生成一个新的镜像zlnginx
image.png
4.以后访问页面,要想访问原来的页面,就启动原来的镜像nginx;要想访问新的页面就启动zlnginx镜像

5. 如何把修改好的镜像(zlnginx)传输到一台新的服务器?
方法1:打成压缩包
1.物理传输:打成压缩包
    docker save -o zlnginx.tar zlnginx:v1
    # -o 表示指定的压缩包名字,名字是以.tar结尾的压缩包文件

image.png
2.把压缩包传到机器上后,然后加载
    docker load -i zlnginx.tar
    # -i 表示后面跟的是要加载的镜像压缩包名

3.此时在docker images就可以看到zlnginx镜像了!
方法2:推送到远程仓库(docker hub),镜像推送
1.需要先注册登录docker hub

image.png
2. 创建一个仓库(create a Repository)
image.png
3.creat创建以后得到以下界面
image.png
4.根据提示,把新的镜像推送到仓库,注意要带上名字
4.1 先把旧镜像的名字,改成仓库要求的新版本名字
    docker tag local-image:tagname new-repo:tagname
    # local-image:tagname,本地的镜像和标签,这里就是:zlnginx和v1
    #  new-repo:tagname,新的名字和版本号,例如:zznginx.v1

    # 根据需要自己修改
    docker tag zlnginx:v1 1870298479/zznginx:v1.0

这时docker images就能查到1870298479/zznginx:v1镜像

image.png
4.2 进行推送
(1)在推送前先进行登录:
docker login

(2)然后会让你输入登录的账号密码:

image.png
(3) 登上以后就可以进行推送
docker push 1870298479/zznginx:v1.0

image.png
(4)推送完以后进行登出
image.png
(5)再次回到docker hub页面就可以看到v1版本了
image.png
(6)点击复制,别的机器就可以直接下载使用了
docker pull 1870298479/zznginx:v1

6.补充常用命令

1.查看容器的运行日志
docker logs 容器名/id

2.进入到某个容器里
docker exec -it 容器id /bin/bash

3.docker经常修改nginx配置文件,所以把nginx配置文件也挂载出来
    docker run -d -p 88:80 \
    -v /data/html:/usr/share/nginx/html:ro \  #nginx页面挂载出来
    -v /data/conf/nginx.conf:/etc/nginx/nginx.conf \ #nginx配置文件挂载出来
    --name mynginx-02 \
    nginx

4.把容器指定位置的东西复制出来
docker cp 5eff66eec7e1:/etc/nginx/nginx.conf  /data/conf/nginx.conf

5. 把外面的内容复制到容器里面
docker cp  /data/conf/nginx.conf  5eff66eec7e1:/etc/nginx/nginx.conf

免责声明:
1,海欣资源网所发布的资源由网友上传和分享,不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
2,海欣资源网的资源来源于网友分享,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
3,海欣资源网所发布的资源由网友上传和分享,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
4,如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉,联系方式邮箱 haixinst@qq.com
海欣资源-企业信息化分享平台。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

8

主题
热度排行
回复排行
最新贴子

Archiver|手机版|海欣资源 ( 湘ICP备2021008090号-1 )|网站地图

GMT+8, 2023-2-1 16:41 , Gzip On, Redis On.

免责声明:本站所发布的资源和文章均来自网络,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉。