• docker常用命令


    docker 环境 CentOS 8.1

    Docker 修改镜像源地址
    1. Docker 官方中国区
    https://registry.docker-cn.com
    
    1. 网易
    http://hub-mirror.c.163.com
    
    1. ustc --中国科学技术大学
    https://docker.mirrors.ustc.edu.cn
    

    /etc/docker/daemon.json

    如果没有daemon.json文件 创建

    { 
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] 
    }
    

    重启docker

    systemctl restart docker
    
    启动 docker
    systemctl start docker
    
    守护进程重启
    sudo systemctl daemon-reload
    
    重启docker服务
    systemctl restart  docker
    
    重启docker服务
     sudo service docker restart
    
    关闭docker 服务

    docker service docker stop

    关闭docker
    docker systemctl stop docker
    
    拉取镜像
     docker pull tomcat:jdk8-openjdk 
    
     docker pull tomcat:8.5.55-jdk8-openjdk
    
    查看镜像
      docker images  
    
    显示正在运行的容器:
    [root@localhost HMK]# docker ps
    显示所有容器,包括未运行的: 
    [root@localhost HMK]# docker ps -a
    
    运行镜像
    docker run -d --name tomcat_test -p 8088:8080  7254ff7719c0
    docker run -d --name tomcat_test -v /etc/localtime:/etc/localtime -p 2080:8080 tomcat:latest
    
    docker run -d --name tomcat_contract -p 8088:8080 -v  /home/tomcat_contract/conf:/usr/local/tomcat/conf -v  /home/tomcat_contract/webapps:/usr/local/tomcat/webapps -v  /home/tomcat_contract/logs/:/usr/local/tomcat/logs -v  /home/tomcat_contract/logsRoot/:/usr/local/tomcat/logsRoot 7254ff7719c0
    

    –name 容器名称
    -p 8088:8080 8088 是宿主机端口 8080是tomcat容器端口 8080映射到2080
    tomcat:latest 镜像名称及版本
    -v /etc/localtime:/etc/localtime 容器使用宿主机时间、时区

    -v 挂载目录 /home/tomcat/conf 宿主机的配置目录,/usr/local/tomcat/conf 容器的目录

    :前面是宿主机的目录,后面是容器里面的目录

    -d:表示指定容器后台运行

    8e4c7e070ba2 镜像id

    进入容器
     docker exec -it mysql_docker /bin/bash
      docker exec -it mcyl_test0 /bin/bash
       docker exec -it zilliz_search_images_demo /bin/bash
    

    当前目录还是在tomcat镜像生成的容器目录下,可以使用:ctrl+p+q不退出容器的方式返回到宿主机目录下

    出容器
    ctrl+p+q
    

    使用:ctrl+p+q不退出容器的方式返回到宿主机目录下

    重启容器

    docker restart 容器ID

    docker restart 54bad744146a
    
    停止容器

    docker stop 容器id

    docker stop 31290cf1cc00
    
    启动一个已经停止的容器实例

    docker start 容器名称 或者 容器id tomcat_contract

    docker start 31290cf1cc00
    
    删除容器

    可使用 -f 参数强制删除容器

    docker rm mcyl_test0
    
    查看所有的容器
    docker ps -a 
    
    查看运行中的容器
    docker ps 
    

    liunx 命令

    重命名文件夹

    mv webapps webapps2
    
    mv webapps.dist/ webapps
    
    使用docker commit命令将修改后的容器生成新的镜像

    docker commit命令详解:
    作用:将运行着的容器映射成新的镜像
    格式: docker commit -a='作者-这个随意写' -m='‘修改内容--随意写' 容器名称或者ID 新生成镜像的名称
    例子:

    docker commit -a='lzhang2019' -m='修改主页404错误' e8a903b0d543  tomcat-8.5.55-jdk8-openjdk-dev:v0.1
    
    导出images
    保存镜像

    docker save 命令 将镜像保存成一个文件。

    docker save -o tomcat-8.5.55-jdk8-openjdk-dev-v0.1.tar tomcat-8.5.55-jdk8-openjdk-dev:v0.1
    

    -o 输出文件名称

    tomcat-8.5.55-jdk8-openjdk-dev:v0.1 镜像的名称和tag

    2)我们还可以同时将多个 image 打包成一个文件,比如下面将镜像库中的 postgresmongo 打包:

    docker save -o images.tar postgres:9.6 mongo:3.4
    
    载入镜像

    使用 docker load 命令则可将这个镜像文件载入进来。

    docker load < hangge_server.tar
    
    从容器拷贝文件到宿主机

    docker cp 容器名:容器中要拷贝的文件名及其路径 要拷贝到宿主机里面对应的路径

    拷贝容器中 tomcat的conf目录 到 宿主机 的 home/tomcat 目录下

    docker cp 16d0e13769a8:/usr/local/tomcat/conf /home/tomcat_contract/
    

    拷贝容器中 tomcat的webapps目录 到 宿主机 的 home/tomcat 目录下

    docker cp 827e39c506b1:/usr/local/tomcat/webapps /home/tomcat_contract/
    
    删除images

    使用 docker load 命令则可将这个镜像文件载入进来。

     docker rmi 6e07337dc2a2
    
    实时日志
    docker logs -f --tail=100  mcyl_test0
    
    查看容器的详细信息
    docker inspect mysql_docker
    docker inspect mcyl_test0
    
    Dockerfile 创建镜像
    docker build -t runoob-ubuntu:v1 .
    
    docker build -t mcyl-vue:v1.0 .
    

    用户定义的网桥和默认网桥之间区别

    1、用户定义的网桥可在容器之间提供自动DNS解析。

    2、用户定义的桥可提供更好的隔离。

    3、容器可以随时随地从用户定义的网络连接和分离。

    4、每个用户定义的网络都会创建一个可配置的网桥

    5、默认网桥网络上的链接容器共享环境变量。

    创建用户定义的网桥网络

    使用该docker network create命令。

    $ docker network create my-net
    
    删除用户定义的网桥网络

    使用该docker network rm命令。如果容器当前已连接到网络, 请先断开它们的连接

    $ docker network rm my-net
    
    将容器连接到用户定义的桥

    创建新容器时,可以指定一个或多个--network标志。本示例将Nginx容器连接到my-net网络。它还将容器中的端口80发布到Docker主机上的端口8080,以便外部客户端可以访问该端口。连接到my-net 网络的任何其他容器都可以访问该my-nginx容器上的所有端口,反之亦然。

    $ docker create --name my-nginx 
      --network my-net 
      --publish 8080:80 
      nginx:latest
    

    要将运行中的容器连接到现有的用户定义的网桥,请使用以下 docker network connect命令。以下命令将一个已经在运行的my-nginx容器连接 到一个已经存在的my-net网络:

    $ docker network connect my-net my-nginx 
      docker network connect my-net mysql_docker
      docker network connect my-net mcyl_test0
    
    断开容器与用户定义的桥的连接

    要将运行中的容器与用户定义的网桥断开连接,请使用以下docker network disconnect命令。以下命令将my-nginx 容器与my-net网络断开连接。

    $ docker network disconnect my-net my-nginx
    
  • 相关阅读:
    【总结】搜索
    【luogu】p2296 寻找道路
    【luogu】p2058 海港
    【总结】二叉搜索树
    【总结】线段树
    【总结】矩阵快速幂
    【笔记】很基础的数论知识
    【总结】扩展欧几里得算法
    【总结】二分查找
    【高精度乘法】例1.4 课本185页
  • 原文地址:https://www.cnblogs.com/z_lb/p/13060585.html
Copyright © 2020-2023  润新知