docker使用总结

前言

    在平时的工作中,部署软件服务或者多人用一台GPU服务器开发算法模型,为了互不影响,而且便于环境迁移,用docker是很好的选择。这里简单总结下,分享给大家。

环境准备

1、在开发服务器上安装docker,具体安装步骤略。可求助AI工具。

2、(非必须)为了便于管理docker镜像,通常要建一个私有的镜像仓库。

推荐使用Harbor。Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。在可视化的界面上进行镜像管理。搭建过程略,可求助AI工具。常用到的命令如下:

 登录(如果镜像仓库服务器有用户权限设置):

docker tag {旧镜像名称:旧tag名} {新镜像名称:新tag名}

  从镜像仓库拉取镜像:

docker pull {镜像仓库中的镜像名:tag}

   推送镜像到镜像仓库:

docker push {本地环境中的镜像名:tag}

常用docker命令

  1、创建容器

docker run -p 80:8080 --restart=always --name=my_app --privileged -v /data/test:/data/test -it {镜像名称:tag名} bash

     参数说明:

     --privileged 用于提供更多的特权给容器内的进程;

     --restart    退出容器或者服务器重启后容器会自启动;

     --name    给容器命名,便于区分;

       -p           主机和容器内端口映射;

       -it           容器创建好后,会分配一个虚拟终端,可进行交互操作;

   2、 进入容器

docker exec -it {容器名称或容器id} bash

   3、生成镜像

   方法一:将现有容器制作成一个镜像

docker commit {容器名} {新的镜像名:新的tag名}

    方法二:通过Dockerfile生成镜像

                  注意最后的‘.’不要忘记

docker build -t {新的镜像名:新的tag名} .

   关于Dockerfile的写法此处略。

docker-compose常用命令

  • 创建容器:docker-compose up -d --build {imageName}

  • 查看容器:docker-compose ps

  • 停止容器:docker-compose top {serviceName}

  • 启动容器:docker-compose start {service Name}

  • 删除容器:docker-compose rm {serviceName}

 关于docker-compose.yml的写法可自行搜索。比如前端工程nginx:

version: '3'
services:
  nginx:
    image: nginx:v2.2
    container_name: nginx
    volumes:
      - /docker-compose/nginx/nginx.conf:/etc/nginx/nginx.conf
      - /docker-compose/nginx/conf.d:/etc/nginx/conf.d
      - /etc/localtime:/etc/localtime
    ports:
      - 8081:8080
    restart: always

 其它命令

  • 删除退出的容器:docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm
  • 删除none镜像:docker rmi $(docker images | grep "none" | awk '{print $3}')
  • 删除没有标签(none)的镜像:docker image prune
  • 删除none和没有被任何容器引用的镜像:docker image prune --all

相关推荐

  1. docker使用总结

    2024-02-05 07:54:02       53 阅读
  2. docker的常规使用总结

    2024-02-05 07:54:02       256 阅读
  3. 项目总结(一)docker总结

    2024-02-05 07:54:02       28 阅读
  4. Docker知识点总结

    2024-02-05 07:54:02       34 阅读
  5. Docker容器内容总结

    2024-02-05 07:54:02       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-05 07:54:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-05 07:54:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-05 07:54:02       82 阅读
  4. Python语言-面向对象

    2024-02-05 07:54:02       91 阅读

热门阅读

  1. 机器学习本科课程 实验6 聚类实验

    2024-02-05 07:54:02       38 阅读
  2. Spring和Spring Boot的区别

    2024-02-05 07:54:02       54 阅读
  3. 使用idea连接SQL Server数据库出错TLS10 is not accepted

    2024-02-05 07:54:02       52 阅读
  4. 鸿蒙4.0.0 安装minitouch

    2024-02-05 07:54:02       123 阅读
  5. arm 汇编 dump buff data

    2024-02-05 07:54:02       49 阅读
  6. 前端工程化之:webpack3-1(css工程化概述)

    2024-02-05 07:54:02       51 阅读