目录
1、启动docker:systemctl start docker
2、停止docker:systemctl stop docker
3、重启docker:systemctl restart docker
4、查看docker状态:systemclt status docker
5、开机启动:systemctl enable docker
6、查看docker概要信息:docker info
7、查看docker总体帮助文档:docker --help
8、查看docker具体命令文档:docker 具体命令 --help
[root@localhost ~]#docker images //列出本地主机上的镜像
[root@localhost ~]#docker images -a //列出本地所有的镜像(含历史镜像)
[root@localhost ~]#docker images -q //只显示镜像ID
[root@localhost ~]#docker images -qa //显示全部镜像ID
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签版本号(如果没有指定版本号则默认最新lasted最新)
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
[root@localhost ~]#docker search 镜像名 //在镜像源仓库中查找对应镜像名称。
[root@localhost ~]#docker search --limit 镜像名 //只列出点赞数最多的25个镜像
NAME:镜像名称
DEESCRIPTION:镜像说明
STARTS:点赞数量
OFFICIAL:是否为官方发布
AUTOMEATED:是否是自动构建的
[root@localhost ~]#docker pull 镜像名[:TAG] //下载镜像,TAG版本号,默认最新版latest。
[root@localhost ~]#docker system df //查看镜像/容器/数据卷所占的空间
TYPE:类型 TOTAL:总数 ACTIVE:运行中 SIZE:大小 RECLAIMABLE:可伸缩性
Images:镜像
Containers:容器
Local Volumes:本地卷
Build Cache:构建的缓存
[root@localhost ~]# docker rmi 镜像名/镜像id //删除指定镜像
[root@localhost ~]#docker rmi -f 镜像名/镜像id //强制删除
[root@localhost ~]#docker rmi -f 镜像名/镜像id:镜像名/镜像id:.. //强制删除多个镜像
[root@localhost ~]#docker rmi -f $(docker images -qa) //删除所有镜像
仓库名、标签都是<none>的镜像,俗称虚悬镜像danglingiamge,应当删除。
[root@localhost ~]#docker run [OPTIONS(image)][COMMAND][ARG...] //启动交互式容器(前台命令行)
示例:[root@localhost ~]#docker run -it 镜像 /bin/bash
以交互模式运行镜像,然后返回一个伪终端供自己输入命令。然后在生成的容器中希望有个交互式的shell,因此使用的是/bin/bash
OPTION说明(常用):
--name=:“容器新名字” 为容器指定一个名称
-d:后台运行容器并返回容器id,也即启动守护式容器(有可能运行失败,docker容器后台运行必须有一个 前台进程)
-i:以交互模式运行容器,通常与-t同时使用
-t:为容器重新分配一个伪输入终端,通常与-i一起使用[也即启动交互式容器(前台有伪终端,等待交互)]
-P:随机端口映射
-p:指定端口映射
[root@localhost ~]#docker ps //查看正在运行的容器
[root@localhost ~]#docker ps -a //所有运行容器(包含历史)
[root@localhost ~]#docker ps -l //显示最近创建的容器
[root@localhost ~]#docker ps -n //显示最近创建的n个容器
[root@localhost ~]#docker ps -q //静默模式,只显示容器编号
CONTAINER ID:正在运行容器ID
NAMES:容器名称,如果未指定则随机指定。
exit :从run创建的容器中退出,并关闭该容器。
ctrl+p+q:从run创建的容器中退出,但不关闭容器
1、启动已停止运行的容器:docker start 容器ID或者容器名
2、重启容器:docker restart 容器ID或者容器名
3、停止容器:docker stop 容器ID或者容器名
4、强制停止容器:docker kill 容器ID或者容器名
[root@localhost ~]#docker rm 容器名/容器ID //删除已停止的容器
[root@localhost ~]#docker rm -f $(docker ps -a -q) //一次性删除多个容器
[root@localhost ~]#docker ps -a -q | xargs docker rm //一次性删除多个容器
[root@localhost ~]#docker logs 容器ID //查看容器日志
[root@localhost ~]#docker top 容器ID //查看容器内运行进程
[root@localhost ~]#docker inspect 容器ID //查看容器内部细节
[root@localhost ~]#docker exec -it 容器ID //在容器中打开新的终端,并可以启动新的进程,exit不会导致容器停止,推荐使用
[root@localhost ~]#docker attach 容器ID // 直接进入容器启动命令的终端,exit会导致容器停止
[root@localhost ~]#docker cp 容器ID:容器内的路径 本地目标路径 //将制定容器中的文件备份到本地路径
[root@localhost ~]#docker export 容器ID > 文件名.tar //导出容器内容留作一个tar归档文件
[root@localhost ~]#cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号 //镜像用户随意输入
system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
我正在尝试使用docker运行一个Rails应用程序。通过github的sshurl安装的gem很少,如下所示:Gemfilegem'swagger-docs',:git=>'git@github.com:xyz/swagger-docs.git',:branch=>'my_branch'我在docker中添加了keys,它能够克隆所需的repo并从git安装gem。DockerfileRUNmkdir-p/root/.sshCOPY./id_rsa/root/.ssh/id_rsaRUNchmod700/root/.ssh/id_rsaRUNssh-keygen-f/root/.ss
我在Heroku上构建了一个必须在Docker容器内运行的RoR应用程序。为此,我使用officialDockerfile.因为它在Heroku中很常见,所以我需要一些附加组件才能使这个应用程序完全运行。在生产中,变量DATABASE_URL在我的应用程序中可用。但是,如果我尝试其他一些使用环境变量(在我的例子中是Mailtrap)的加载项,变量不会在运行时复制到实例中。所以我的问题很简单:如何让docker实例在Heroku上执行时知道环境变量?您可能会问,我已经知道我们可以在docker-compose.yml中指定一个environment指令。我想避免这种情况,以便能够通过项目
我在开发和生产中都使用docker,真正困扰我的一件事是docker缓存的简单性。我的ruby应用程序需要bundleinstall来安装依赖项,因此我从以下Dockerfile开始:添加GemfileGemfile添加Gemfile.lockGemfile.lock运行bundleinstall--path/root/bundle所有依赖项都被缓存,并且在我添加新gem之前效果很好。即使我添加的gem只有0.5MB,从头开始安装所有应用程序gem仍然需要10-15分钟。由于依赖项文件夹的大小(大约300MB),然后再花10分钟来部署它。我在node_modules和npm上遇到了
开门见山|拉取镜像dockerpullelasticsearch:7.16.1|配置存放的目录#存放配置文件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/config#存放数据的文件夹mkdir-p/opt/docker/elasticsearch/node-1/data#存放运行日志的文件夹mkdir-p/opt/docker/elasticsearch/node-1/log#存放IK分词插件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/plugins若你使用了moba,直接右键新建即可如上图所示依次类推创建
测试环境对于任何一个软件公司来讲,都是核心基础组件之一。转转的测试环境伴随着转转的发展也从单一的几套环境发展成现在的任意的docker动态环境+docker稳定环境环境体系。期间环境系统不断的演进,去适应转转集群扩张、新业务的扩展,走了一些弯路,但最终我们将系统升级到了我们认为的终极方案。下面我们介绍一下转转环境的演进和最终的解决方案。1测试环境演进1.1单体环境 转转在2017年成立之初,5台64G内存的机器,搭建5个完整的测试环境。就满足了转转的日常所需。一台分给开发,几台分给测试。通过沟通协调就能解决多分支并行开发下冲突问题。1.2动态环境+稳定环境 随着微服务化的进
1.现象服务重启后,通过dockerstart方式无法启动实例,报出错误:Errorresponsefromdaemon:errorcreatingoverlaymountto/var/lib/docker/overlay2/xxx/merged:nosuchfileordirectorydockersave导出镜像也报出2.网上各种尝试摸索无效果修改daemon.json中的storage-driver为overlay,重启无效果。禁用selinux,临时或永久方式都无效果。修改/etc/docker/daemon.json中的storage-driver为overlay2,无效果。修改/l
homeassistant久仰大名,据说可以一统各大物联网平台的设备,家里各平台的设备都有一点,控制起来很不方便,于是乎我也来尝尝~homeassistant官网https://www.home-assistant.io/HACShttps://github.com/hacs/integration准备1.Linux系统(Window)其实也类似2.安装好dockerdocker安装homeassistant官方有几个版本可供选择,安装方式可以:直接刷HA的系统,也可以用Docker安装,还可以直接安装在物理机上,具体区别如下:我采用的是Docker进行安装,也就是Container,从上图也
文章目录前言一、迁移步骤前言Docker安装的东西多了或者目录分配大小未提前规划好,就容易出现磁盘空间不足的问题,可以采用软链接的方式迁移数据目录空间。一、迁移步骤要使用软连接的方式修改Docker数据存储目录,需要执行以下步骤:1、使用systemctlstopdocker命令停止Docker服务;2、创建文件夹:mkdir/home/docker(/home/docker为新磁盘目录名);3、移动/var/lib/docker/目录到新目录中:mv/var/lib/docker/*/home/docker;4、使用rm-rf/var/lib/docker命令删除原有的Docker数据目录;