• 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

  • 相关阅读:
    java的继承---包装器与自动装箱
    linux开机启动过程,很多人说的不太清楚的看看。
    黑盒测试/三角形(OC)
    git 忽略一些文件的提交
    volley 框架的使用
    如何通过阿里百川的集成,以及manifest的权限配置完成淘客商品详情页的链接
    抓取网站访问者的QQ号码
    写写东西吧
    Android 强制实现下线功能
    Android 新闻显示界面且适应平板
  • 原文地址:https://www.cnblogs.com/OnlyDreams/p/8427668.html
Copyright © 2020-2023  润新知