首页 > 其他分享 >Docker 常用容器命令

Docker 常用容器命令

时间:2024-02-22 14:44:30浏览次数:26  
标签:容器 常用 -- 宿主机 ID Docker docker 端口号

Docker 常用容器命令

 

 

一、新建并启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    --name="容器新名字" # 为容器指定一个名称;
    -d # 后台运行容器,并返回容器ID,也即启动守护式容器;
    -i # 以交互模式运行容器,通常与 -t 同时使用;
    -t # 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    -P # 随机端口映射,并将容器内部使用的网络端口映射到我们使用的主机上;
    -p # 指定端口映射,有以下四种格式
          ip:hostPort:containerPort
          ip::containerPort
          hostPort:containerPort # 将containerPort映射到主机上的hostPort端口
          containerPort
    -v 主机目录:容器目录 # 挂载 宿主机的目录挂载到容器的指定目录 

  

1. 新建容器指定一个名称

docker run --name=testname hello-world

  

 

2. 交互模式运行容器并分配一个伪输入终端

① 执行后进入到容器内部,只有简单的linux命令可以使用

  

docker run -it centos /bin/bash

  

 

② 退出并关闭容器 

  

exit

  

 

 ③ 不关闭并退出容器

  

ctrl + P + Q

  

3. 根据容器ID或名字 启动

docker start 容器ID或者容器名 

  

 

 

4. 根据容器ID或名字 重启

docker restart 容器ID或者容器名 

  

 

5. 本地内容拷贝到容器目录下

docker cp 需要拷贝的文件或目录 容器名称:容器目录 

  

 

 

6. 创建启动容器映射端口号,访问测试

# 配置容器映射到宿主机中的端口号
docker run -d  --name 容器名  -p 宿主机端口号:容器内的端口号  镜像名称[:tag]
# 绑定宿主机ip+端口号: 只能通过绑定的ip和端口号 访问容器
docker run -d  --name 容器名  -p ip:宿主机端口号:容器内的端口号  镜像名称[:tag]

  

docker run -d --name mynginx -p 81:80 nginx

  

 

curl http://localhost:81

  

 

 

注:如果访问失败,可能是网络问题或者防火墙没关!

配置前docker容器因为需要监听宿主机的端口号,有可能出现ipv4通信失败的问题,解决办法如下:

# 修改配置文件:
vim /usr/lib/sysctl.d/00-system.conf
# 添加内容
net.ipv4.ip_forward=1
# 保存退出 重启网络 

systemctl restart network

# 重启容器

docker restart 容器名

  

7.  创建容器挂载卷(挂载本地文件到容器内)

创建docker容器时,将本地目录挂载到nginx容器指定目录下,将来可以访问nginx中的资源

  

docker run -d --name=mynginx -p 81:80 -v /opt/html:/opt/ nginx

  

 

cp 拷贝到容器中的文件,容器中的是副本,宿主机和容器互不影响!

挂载后的目录中,宿主机修改后,容器内核宿主机文件一致!

  

 

二、查询容器

docker ps [OPTIONS]
    -a # 列出当前所有正在运行的容器+历史上运行过的
    -l # 显示最近创建的容器。
    -n # 显示最近n个创建的容器。   docker ps -n 3
    -q # 静默模式,只显示容器编号。
    --no-trunc # 不截断输出。

  

 

三、删除容器

docker rm 容器ID # 删除指定容器
docker rm 容器Name # 根据容器名删除容器

docker rm $(docker ps -a -q) # 删除所有容器,正在运行的容器无法删除
docker rm -f $(docker ps -a -q) # 删除所有容器,包括正在运行的容器
docker ps -a -q | xargs docker rm # 删除所有容器,不包括正在运行的容器

  

1. 根据容器ID删除 

 

2. 根据容器名删除

 

3. 删除所有容器,包括正在运行的容器

docker rm -f $(docker ps -qa)

  

 

四、守护式容器命令

docker run -d --name mynginx nginx

  

 

2. 创建并启动docker容器 脚本

docker run -d --name=mycentos centos /bin/bash -c "while true;do echo hello zzyy;sleep 2;done"

  

 

五、查看docker容器日志

以后容器创建或者启动失败,可以通过日志分析错误原因!

1. 查看容器所有日志

docker container logs 容器ID

  

 

2. 跟随查看容器日志

docker logs -f -t --tail n 容器ID  # 查看容器日志 
    -t # 是加入时间戳
    -f # 跟随最新的日志打印
    --tail 数字 # 显示最后多少条

  

 

ctrl+c 可以退出跟随查看  

  

六、重新进入docker

docker exec -it 容器ID或名字 /bin/bash  # 在容器中打开新的终端,并且可以启动新的进程

# 打开新的终端进入容器:exit退出容器时,容器不会关闭
docker attach 容器ID  # 直接进入容器启动命令的终端,不会启动新的进程

# 直接进入容器使用容器自己的终端:exit退出容器时,容器会关闭
docker exec -it 容器ID ls -l /tmp # 在容器外执行docker内命令

  

1. 在容器中打开新的终端,并且可以启动新的进程

docker exec -it 容器ID /bin/bash

 

 

2. 直接进入容器启动命令的终端,不会启动新的进程

docker attach 容器ID

  

 

 来源:https://blog.csdn.net/qq_45037155/article/details/129665476

标签:容器,常用,--,宿主机,ID,Docker,docker,端口号
From: https://www.cnblogs.com/huandong963/p/18027283

相关文章

  • linux常用命令--dpkg
    dpkg是Debain系列linux发行版本中的重要命令,用于管理软件包,安装、配置、卸载等等。更多介绍请参考官方文档:www.dpkg.orgdpkg常用参数:dpkg-ipackage_file.deb安装指定软件包 dpkg-igvim.debdpkg-rpackage_file.deb删除以安装的软件包,但保留配置文件 dpkg-rgv......
  • docker安装使用
    Docker安装sudoyuminstall-yyum-utils\device-mapper-persistent-data\lvm2添加yum源sudoyum-config-manager\--add-repo\https://download.docker.com/linux/centos/docker-ce.repo安装dockersudoyuminstalldocker-ce-18.06.1.ce-3.el7.x86_64......
  • docker安装部署mysql8以及创建数据库
    mysql安装dockerpullmysql:8.0#创建mysql相关目录mkdir-p/server/data/docker/mysql/master/datadirdockerrun--namemysql-p53306:3306--restart=always--privileged=true\-v/server/data/docker/mysql/master/datadir:/var/lib/mysql\-v/s......
  • 从零开始写 Docker(一)---实现 mydocker run 命令
    本文为从零开始写Docker系列第一篇,主要实现mydockerrun命令,构造了一个具有基本的Namespace隔离的简单容器。如果你对云原生技术充满好奇,想要深入了解更多相关的文章和资讯,欢迎关注微信公众号。搜索公众号【探索云原生】即可订阅本文主要实现我们的第一个命令mydoc......
  • docker使用
    安装tomcat9dockerpulltomcat:9.0.56-jdk8-temurin-focaldockerrun-d-p8082:8080--namemy-tomcat6b16c2a1d213dockerexec-itmy-tomcat/bin/bashcp-rwebapps.dist/*webapps/安装guacamole连接内部数据库dockerrun--namesome-guacd-d-p4822:4822gu......
  • Docker的常用命令
    Docker的常用命令 Docker的常用命令dockerversion #显示docker的版本信息dockerinfo #显示docker的系统信息,包括镜像和容器的数量docker--help #docker帮助命令镜像命令dockerimages 查看所有本地主机上的镜像dockersearchmysql 搜索镜像dockerpullmysq......
  • 责任链模式与spring容器的搭配应用
    背景有个需求,原先只涉及到一种A情况设备的筛选,每次筛选会经过多个流程,比如先a功能,a功能通过再筛选b功能,然后再筛选c功能,以此类推。现在新增了另外一种B情况的筛选,B情况同样需要A情况的筛选流程,并且需要在A情况的基础上,新增另外的功能筛选,这里假设A需要a、b、c功能的筛选,而B需要a......
  • 常用命令---dmidecode
    dmidecode是一个linux命令行工具,可以获取服务器的硬件信息,包括:CPU、methed、disk、BIOS等查看系统信息想要查看完整的系统信息。sudodmidecoce查看特定类型信息dmidecode可以查询各种类型的硬件信息sudodemidecode--type|-t<type>sudodemidecode--typebios--type:......
  • C#常用NLP库
    在DotNet开发中,有几个常用的NLP(自然语言处理)开发库可供选择。以下是几个流行的DotNetNLP库:Stanford.NLP:Stanford.NLP是一个开源的DotNet库,提供了各种NLP工具和算法,例如词性标注、命名实体识别、分词、语法分析等。它是基于Stanford大学的NLP工具包开发的,功能强大且经过广泛使用......
  • PHP常用环境套件
    当你学习来了PHP之后,你就知道PHP套件的必要性,在学习php时,我们不能在php环境安装上花费很长时间,这是得不偿失的;也没必要花费几百购买php空间。这时我们需要在自己的电脑上安装php环境套件,那么php环境套件有哪些?1、php环境——XAMPP是一款比较强大的本地测试平台,它集成了必须......