首页 > 其他分享 >docker常用命令

docker常用命令

时间:2023-08-22 10:45:31浏览次数:47  
标签:容器 www run -- 常用命令 镜像 docker

镜像基础命令:

docker version                    查看docker版本

docker search --automated -s 3 nginx     按星级搜索镜像

docker pull ubuntu:14.04             获取镜像

docker images                    查看镜像信息

docker inspect                   获取镜像详细信息

docker history  nginx              查看镜像历史

docker tag nginx:latest mynginx:latest   给镜像添加一个新标签

docker rmi 镜像名称或ID   -f参数强制    删除镜像

docker commit -m “add a new file” -a  "zhang san"  容器ID  test:0.1          基于已有的容器创建镜像

dcoker save -o ubuntu_14.04.tar ubuntu:14.04                             存出镜像,导出为文件

docker load  --input ubuntu_14.04.tar  或  docker load < ubuntu_14.04.tar        载入镜像

docker push 仓库路径               上传镜像

容器基础命令:

docker create  -it ubuntu:latest                新建容器不启动

docker start ubuntu                         启动容器

docker run -it ubuntu:14.04 /bin/echo "hello world"    新建并启动容器,运行命令后终止

docker run -it ubuntu:14.04 /bin/bash             新建并进入容器

exit退出容器终止   ctrl+q crtl+p退出容器不终止

docker exec -it 容器名称  /bin/bash               进入正在运行的容器

docker run -d centos:latest /bin/bash -c "命令"        新建容器运行命令但不终止,-d后台运行

docker logs 容器ID                           查看容器输出

docker  stop| start | restart | inspect 容器ID        停止启动重启查看详细信息

docker  export 容器ID > centos7.tar               导出容器

cat centos7.tar | docker import - centos:test         导入容器

docker rm 容器名或ID                          删除容器   -f参数强制

-P  随机映射端口  -p 指定映射端口

docker  run  -d  -P --name web-test001 httpd                         随机映射容器的80端口

docker  run  -d  -p 8000:80 --name web-test002 httpd                    宿主机8000端口映射容器80端口

docker  run  -d  -p 5000:5000  -v /opt/registry:/var/lib/registry registry     将容器内/var/lib/registry目录挂载到宿主机/opt/registry目录

:ro #只读,只能通过宿主机来操作文件,容器内部无法操作!

:rw #可读可写, 默认

docker  run  -d  -p 5000:5000  -v /opt/registry:/var/lib/registry:ro registry   将容器内/var/lib/registry目录挂载到宿主机/opt/registry目录,并且只能通过宿主机来操作文件,容器内部无法操作!

docker run -dit  -p  192.168.1.102:10112:22  -p  192.168.1.102:80:80 centos    将容器的22端口和80端口分别映射到宿主机192.168.1.102网卡的10112和80端口

docker  run  -d   -p  192.168.1.102::80  --name  webserver  centos:http     将容器的80端口映射到宿主机192.168.1.102网卡的随机端口,并定义一个容器名

docker  run  -d  -p  127.0.0.1:5000:5000/udp   --name  db4  commit:v1      将容器的5000/udp端口映射到宿主机127.0.0.1网卡的5000端口,并定义了一个容器名

docker  port  web-test001                                       查看容器当前映射的端口配置

docker build --no-cache -t "centos:httpv1" .       使用build命令构建镜像,点表示当前目录的dockerfile文件,--no-cache不使用缓存,-t定义名字标签

项目命令常用操作:

docker cp /www/runoob 96f7f14e99ab:/www/                   将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下

docker cp /www/runoob 96f7f14e99ab:/www                    将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www

docker cp  96f7f14e99ab:/www   /tmp/                    将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中

docker rm $(docker ps -a -q)        删除所有容器,-f参数强制

docker-compose up -d nginx         启动nginx容器

docker logs --tail=100 容器名       查看容器日志,-f参数实时监控

docker volume create 卷名           创建一个容器卷

docker volume rm 卷名              删除一个卷

docker volume ls                 查看所有容器卷

docker volume inspect  容器卷        查看指定容器卷信息

docker inspect 容器名              查看容器信息,主要用于查看卷映射信息

docker swarm join-token worker       查看加入woker的命令

docker swarm join-token manager       查看加入manager的命令

docker node ls                  查看swarm节点下的主机

docker  node  rm -f  节点ID        删除swarm其中一个节点,-f参数强制

docker swarm leave -f              解散swarm集群

docker swarm leave                节点加入新的集群时先执行这条命令

docker swarm leave --force          强制退出集群

docker network create -d overlay ov_net3 --subnet 172.19.0.0/24 --gateway 172.19.0.1  创建overlay网络

docker network connect 网络名 容器名     为容器重新指定网络

docker rename 原名 现名              修改容器名

docker image tag  原名:tag  现名:tag    修改镜像名

docker system df                  查看docker占用空间

docker system prune -a              清理无用镜像、缓存、挂载数据

启动容器时,控制容器日志大小和数量
# max-size 最大数值
# max-file 最大日志数
$ docker run -it --log-opt max-size=10m --log-opt max-file=3 redis
全局配置:
创建或修改文件 /etc/docker/daemon.json,并增加以下配置
{
    "log-driver":"json-file",
    "log-opts":{
        "max-size" :"50m",
        "max-file":"1"
    }
}
随后重启 Docker 服务
systemctl daemon-reload
systemctl restart docker

已存在的容器需要重建生效。
docker rm -f redis                  删除容器
docker-compose up -d --build redis  重新构建

docker stats 查看容器占用资源情况

有一些java容器长时间运行导致内存不足,通过添加deploy模块,限制容器的内存:

docker-compose限制容器内存使用:添加deploy模块:例如下:
 order:
    build:
      context: "/data/java-service/order/"
      dockerfile: "Dockerfile"
    image: order:v1
    container_name: "order"
    ports:
    - "18095:18095"
    deploy:
      resources:
         limits:
            cpus: "2.00"
            memory: 1536M
         reservations:
            memory: 1228M
    #env_file: /data/java-service/env_variables
    restart: always
    volumes:
    - "/var/log/docker/order:/var/log/order"
    - "/data/java-service/order/:/var/www/order/"
    # 设置容器内用户权限为root
    privileged: true
    logging:
      driver: "json-file"
      options:
        max-size: "500m"
    environment:
      - TZ=Asia/Shanghai
之后使用docker-compose --compatibility up -d order启动   注意需要添加--compatibility参数,否则报错或提示。

docker容器迁移的步骤:

1、先将容器导为镜像
docker commit -m “add a new file” -a  "zhang san"  容器ID  mysql:v2

2、再将刚刚的镜像导出为镜像文件
docker save -o mysql.tar mysql:v2

3、将容器映射的数据目录打包。
zip -r  mysql.zip  mysql

4、将zip包和导出的镜像tar文件迁移到另一台机器上
根据需求使用scp或其它命令

5、导入镜像到新机器。
docker load < mysql.tar

6、将zip包解压到和旧机器一样的位置

7、使用和旧机器一样的docker run 命令或者将原机器的dockerfile文件拷贝到新机器使用docker-compose命令启动镜像。

 

标签:容器,www,run,--,常用命令,镜像,docker
From: https://www.cnblogs.com/lydongbk/p/17647916.html

相关文章

  • 1、Docker 安装 Jenkins
    更多参考:Jenkins官网#拉取Jenkins镜像dockerpulljenkins/jenkins#运行容器dockerrun-d-p8080:8080-p50000:50000jenkins/jenkins#访问,有初始化页面http://localhost:8080#获取初始页面需要的密码<container_id>运行的容器iddockerexec-it<container_i......
  • Git常用命令
    Git不知道小伙伴们都接触过没,今天闲着没事我就来给大家讲讲Git这个分布式版本控制系统的一些常用操作命令。在讲操作命令之前,可能会有小伙伴会问,Git是什么啊,可能有的小伙伴还没有了解过,下面我先来给大家聊聊Git的概念。Git概念:Git是一个开源的分布式版本控制系统,用于敏捷高......
  • docker 报错
    问题说明:我是服务器上面的docker拉到本地30卡想用的,但是失败,报错如下:服务器上面显存驱动是450,本地30卡驱动是470nvidia-dockerrun-it--name20230821_3--shm-size16g-p10029:22--privileged20230821_imgbashdocker:Errorresponsefromdaemon:failedtocreatesh......
  • 将.NET应用程序容器化与Docker
    当谈到现代软件开发和部署方法时,Docker已经成为一个备受欢迎的工具。它为开发人员和运维团队提供了一种简单而有效的方法,将应用程序及其依赖项打包到一个称为容器的独立单元中。在本篇博客中,我们将探讨如何将.NET应用程序容器化使用Docker。什么是Docker?Docker是一种容器化平......
  • Docker-compose
    Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 目录一、简介 二、compose三层三、compose文件系统四、yml格式五、compose命令六、compose部署七、总结        一、简介 1.compose背景我们知道使......
  • PostgreSQL-常用命令汇总
     1. 连接到PostgreSQL数据库:psql-h主机名-p 端口号-U用户名-d数据库名 2. 列出所有数据库:\l 3. 切换到指定数据库:\c 数据库名 4. 查看当前数据库中的所有表:\dt 5. 查看表的结构:\d 表名 6. 执行SQL查询:SELECT *FROM 表名; 7. 创......
  • Docker-Compose
    目录一、Docker-Compose简介二、YAML文件格式及编写注意事项三、数据及结构1.对象映射2.序列数组3.布尔值4.示例四、DockerCompose配置常用字段五、DockerCompose常用命令六、DockerCompose文件结构七、DockerCompose环境部署1.下载2.安装3.查看版本八、DockerC......
  • docker使用的核心技术
    1.cgroup,这个用来限制cpu和内存;(通过改配置文件,让pid的cpu和内存限制在配置文件里指定的大小) 2.namespace,这个用来隔离进程/文件系统等等;(unshare-m-u/bin/bash,那么当前session就是在一个namespace里了,在这里修改hostname和加载iso文件,是不会影响宿主机的;注意:不止有-m-u还有......
  • docker compose install debian
    在Debian上安装DockerCompose需要遵循以下步骤:确保您的系统已经安装了Docker。安装Python和pip:sudoapt-getupdatesudoapt-getinstallpython3python3-pip使用pip安装DockerCompose:sudopip3installdocker-compose证DockerCompose是否安装成功:docker-......
  • docker ubuntu20.04 安装教程
    ubuntu20.04安装docker教程本博客测试安装时间2023.8月一、docker安装内容:dockerEngine社区版和dockerCompose二、安装环境:ubuntu20.04三、安装步骤:#如果已经安装过docker,请先卸载,没安装则跳过forpkgindocker.iodocker-docdocker-composepodman-dockercontai......