• Docker部署常见问题


    一、删除容器和镜像

    在删除镜像之前要先用 docker rm 删掉依赖于这个镜像的所有容器(哪怕是已经停止的容器),否则无法删除该镜像。

    停止容器

    # docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')
    删除容器

    # docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')

    # docker rm -v $(docker ps -aq -f status=exited)

    删除镜像

    # docker rmi $(docker images | grep "none" | awk '{print $3}')

    删除镜像

    docker rmi IMAGE [IMAGE...] 其中IMAGE可以为镜像标签或者ID

    #当同一个镜像拥有多个标签时,docker rmi命令只是删除了该镜像多个标签中的指定标签,并不影响镜像文件本身,但当镜像只剩下一个标签时,此时就会彻底删除镜像。
    #当docker rmi命令后面跟的是镜像ID时,会尝试删除所有指向该镜像的标签,然后删除镜像文件本身,如果该镜像存在多个标签,默认无法删除,需要加-f进行删除。
    #如果有基于该镜像创建的容器,则默认无法删除镜像,需要先通过docker rm删除容器,然后再用docker rmi删除镜像,或者使用docker rmi -f强制删除(不推荐)。

    二、查看日期日志
    docker logs -f -t --since="2018-02-07" --tail=10 [61462bcea73b容器ID或者名称]

    --since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。

    -f : 查看实时日志

    -t : 查看日志产生的日期

    -tail=10 : 查看最后的10条日志。

    edu_web_1 : 容器名称

    三、容器IP查询

    要获取所有容器名称及其IP地址只需一个命令
    docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
    如果使用docker-compose命令将是:
    docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

    显示所有容器IP地址:
    docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

     四、其他

    docker run -it
    -v $HOME/mvc:/app
    microsoft/dotnet:latest

    FROM microsoft/dotnet:latest
    WORKDIR /app
    COPY . /app
    RUN dotnet restore
    EXPOSE 6100
    ENV ASPNETCORE_URLS http://*:6100
    ENTRYPOINT ["dotnet","run"]

    五、Nginx配置文件

    /etc/nginx/conf.d/default.conf

    server {
    listen 80; //Nginx监听端口
    location / {
    proxy_pass http://172.17.0.2:6100; //web服务容器IP:对外开放访问端口号
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'keep-alive';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
    }
    }

    六、Nginx反向代理运行

    docker run -d -p 808:80
    --name nginxserver
    -v $HOME/nginx/my_nginx.conf:/etc/nginx/conf.d/default.conf:rw
    -v $HOME/nginx/logs/error.log:/var/log/nginx/error.log:rw
    nginx

    注意:挂载的目录都要已存在,不然会报错。


    七、使用该命令进入一个已经在运行的容器

    $ sudo docker ps
    $ sudo docker exec -it [94fdeebf552b容器ID] /bin/bash

  • 相关阅读:
    柱状图 highcharts 柱状图默认是显示的 Heighcharts.com 的版权。设置去掉不显示(非商业)
    eclipse下使用maven配置库托管jar包
    Java的云打印Lodop
    文本框限制输入类型<input>的输入框
    初次使用JFinal
    【原创】java实现两单链表相加求和
    【原创】Springboot的Filter拦截器中使用@value获取值为null
    【原创】Oracle主从同步---创建物理备份数据库[Creating a Physical Standby Database]
    【原创】基于Telnet协议的Jenkins远程部署
    【原创】FastDFS简单安装配置-----同一台机器测试
  • 原文地址:https://www.cnblogs.com/OnlyDreams/p/8427668.html
Copyright © 2020-2023  润新知