Docker 基本命令和使用
Docker 基本命令
systemctl start docker : 启动 Docker
systemctl stop docker : 停止 Docker
systemctl restart docker : 重启 Docker
systemctl enable docker : 开机启动 Docker
docker info : 查看 Docker 概要信息
docker --help :查看 Docker 帮助文档
docker version : 查看Docker版本信息
Docker 镜像 基本命令
1、docker images or docker image ls : 列出本机所有镜像
options 可选参数
| 可选参数 | 参数描述 |
|---|---|
| -a | 显示所有镜像(包括中间层) |
| -q | 只显示镜像Id |
| -qa | 可以组合使用 |
| --digests | 可以显示镜像的摘要信息 |
| --no-trunc | 可以显示完整的镜像信息 |
2、docker search : 搜索镜像
options 可选参数
| 可选参数 | 参数描述 |
|---|---|
| --no-trunc | 显示完整的镜像描述 |
| -s | 列出收藏数不小于指定值的镜像 |
| --automated | 只列出Docker Hub自动构建类型的镜像 |
docker pull : 拉取镜像
dockers pull 镜像名称 :
注意:不加TAG,默认下载最新版本 latest
3、docker rmi : 删除镜像
删除单个
docker rmi 镜像名称:[TAG] 如果不写 TAG 则默认删除最新版 latest
有镜像生成的容器在运行的时候,会删除失败,需要加 -f 强制删除
[root@iZbp17khuqdfkef3nl1db3Z ~]# docker rmi rabbitmq
Error response from daemon: conflict: unable to remove repository reference "rabbitmq" (must force) - container 99693943e972 is using its referenced image 84bc4895f175
docker rmi -f 镜像名称1:[TAG] 镜像名称2:[TAG] 多个镜像之间空格隔开
删除所有镜像
docker rmi $(docker images -q): 删除所有镜像
Docker 容器 基本命令
docker run [OPTIONS] image [COMMAND][ARG...]: 创建并启动容器 options 可选参数
可选参数 参数描述 --name='容器新名字' 为容器指定一个名称 -i 以交互模式运行容器、通常和 -t 同时使用 -t 为容器重新分配一个伪输入终端,通常和 -i 同时使用 -d 后台运行容器,并返回容器id docker run --name 别名 镜像id: 启动普通容器docker run -it --name 别名 镜像Id来运行一个容器,取别名,交互模式运行,以及分配一个伪终端 : 启动交互式容器docker run -di --name 别名 镜像Id:以守护式方式创建并启动容器
docker ps [OPTIONS]: 列出容器 options 可选参数
可选参数 参数描述 -a 显示所有容器,包括未运行的 -f 根据条件过滤显示的内容 --format 指定返回值的模板文件 -l 显示最近创建的容器 -n 显示最近创建的 n 个容器 --no-trunc 不截断输出 -q 静默模式,只显示容器编号 -s 显示总的文件大小 -qa 列出所有容器id exit:容器停止退出ctrl + p + q: 容器不停止退出docker attach 容器Id or 容器名: 进入容器dockr start 容器id or 容器名: 启动容器dockr restart 容器id or 容器名: 重启容器docker stop 容器id or 容器名:停止容器docker kill 容器id or 容器名: 暴力停止,直接杀死进程(不推荐)docker rm 容器id: 如果删除正在运行的容器,会报错,如果需要删除,需要强制删除docker rm 容器Id -f: 强制删除docker rm -f $(docker ps -qa): 删除所有容器docker stop $(docker ps -aq): 停止所有容器docker exec -it 容器id /bin/bash: 进入容器在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package vim
这时候需要敲:apt-get update,这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
等更新完毕以后再敲命令:apt-get install vim命令即可。
Docker 容器与宿主机端口映射
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] : docker run :创建一个新的容器并运行一个命令
docker run -i -t -p 宿主机端口:容器应用端口 --name 别名 镜像id : Docker 容器与宿主机端口映射
options 可选参数
| 可选参数 | 参数描述 |
|---|---|
| -d | 后台运行容器,并返回容器ID |
| -i | 以交互模式运行容器,通常与 -t 同时使用 |
| -P(大写p) | 随机端口映射,容器内部端口随机映射到主机的高端口 |
| -p(小写p) | 指定端口映射,格式为:主机(宿主)端口:容器端口 |
| --name | 为容器指定一个名称 |
修改 Docker 默认存储位置,Docker 容器迁移
Docker中默认存放镜像和容器的目录是:/var/lib/docker/ ,/var下比较容易满建议迁移。
我的系统是 Centos7,具体解决步骤如下:
停止Docker 服务:
systemctl stop docker; //每个liunx版本的命令不一样。
在空间充足的磁盘下创建新的docker目录
mkdir -p /data/docker; //在根目录下新建
迁移/var/lib/docker目录下面的文件到刚才新建好的 /data/docker下面
cp -rvf /var/lib/docker/* /data/docker
修改 Docker 配置
vim /etc/systemd/system/docker.service.d/devicemapper.conf
在文件末尾添加:
--graph=/data/dockerdevicemapper.conf文件的内容如下:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --insecure-registry=私服地址 --graph=/data/docker
注意:如果/etc/systemd/system/docker.service.d/devicemapper.conf,这个路径找不到的话,就新建,新建之后加入内容,没有私服地址的话就可以去掉”--insecure-registry=私服地址”。
重载配置,重启docker
systemctl daemon-reload;
systemctl restart docker;
systemctl enable docker;
启动成功后,确定容器没问题后删除/var/lib/docker/目录中的文件,然后就OK了。
查看容器日志
docker logs : 获取容器的日志
语法 :docker logs [OPTIONS] CONTAINER
options 可选参数
| 可选参数 | 参数描述 |
|---|---|
| -f | 跟踪日志输出 |
| --since | 显示某个开始时间的所有日志 |
| -t | 显示时间戳 |
| --tail | 仅列出最新N条容器日志 |
Docker 容器目录挂载
我们 在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以实现宿主机和容器目录的双向数据自动同步。
我们可以通过容器目录挂载,能够轻松实现代码上传、配置修改、日志同步等需求。
语法 : docker run -i -t -v /宿主机目录:/容器目录 镜像id
多目录挂载 :docker run -i -t -v /宿主机目录:/容器目录 -v/宿主机目录2:/容器目录2 镜像id
注意 :如果同步多级目录,可能会出现权限不足的提示,只需要添加 **--privileged=true **来解决挂载的目录没有权限的提示问题。
Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定。
譬如我要启动一个centos容器,宿主机的/data/hData目录挂载到容器的/cData目录,可通过以下方式指定:
docker run -i -t -v /data/hData:/cData 470671670cac
注意点
- 容器目录不可以为相对路径
- 宿主机目录如果不存在,则会自动生成
Docker 基本命令和使用的更多相关文章
- 15个Docker基本命令及用法
Docker入门教程:15个Docker基本命令及用法 本文中,我们将学习15个Docker命令以及命令的用法和功能,并通过实践学习它是如何工作的. AD:51CTO 网+ 第十二期沙龙:大话数据 ...
- 七、docker基本命令
Docker 基本命令 docker的基本命令 docker version :查看docker的版本号,包括客户端.服务端.依赖的Go等 [root@centos7 ~]# docker versi ...
- Docker基本命令
1.搜索Docker镜像 docker search <镜像名> 2.获取镜像 docker pull <镜像名> 3.查看本地镜像 docker images 4.删除镜像 ...
- docker:(1)docker基本命令使用及发布镜像
docker镜像可以完全看作一台全新的电脑使用,无论什么镜像都是对某一东西进行了配置,然后打包后可以快速移植到需要的地方直接使用 省去复杂的配置工作 比如java web项目部署,如果是新部署,需要装 ...
- 再谈docker基本命令
子曰,温故而知新 今日,再次看书之际,又寻得docker的几条使用命令,用小本本记下来 配置docker镜像源 当我们在拉去一些共有镜像时,默认,docker会向docker.io去获取,如果在拉取的 ...
- docker基本命令使用
学会使用docker命令帮助 docker help 子命令 查看docker镜像 docker images 搜索镜像 docker search 镜像名 下载镜像 docker pull 镜像名 ...
- Docker基本命令与使用 —— Docker容器的网络连接(四)
一.Docker容器的网络基础 通过ifconfig查看docker0的网络设备,docker守护进程就是通过docker0为docker的容器提供网络连接的各种服务. docker0是Linux虚拟 ...
- Docker基本命令汇总
Docker的三大核心概念:镜像.容器.仓库 镜像:类似虚拟机的镜像.用俗话说就是安装文件. 容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,可以将其启动.开始.停止.删除.而这些容器都是相 ...
- Docker基本命令与使用 —— Dockerfile指令与构建(三)
一.Dockerfile指令上 1.指令格式 # Comment 注释, 以#开头 INSTRUCTION argument 以大写的指令+参数 #First Dockerfile 注释 FROM u ...
随机推荐
- Python中numpy模块的简单使用
# encoding:utf-8 import numpy as np data1 = np.array([1, 2, 3, 4, 5]) print(data1) data2 = np.array( ...
- cdn第三方前端依赖架包共享地址
https://cdnjs.com/ 可在此网站查找你需要的稳定第三方前端依赖架包
- PYthon之路Day12
生成器 核心:生成器的本质就是一个迭代器 程序员自己写的一种迭代器 作用:节省空间 生成器可以使用for进行遍历 生成器编写方式: 基于函数编写 def func(): print('这是一个函 ...
- 使用VSCode创建简单的Razor Webapp--1.入门
1.下载vscode,安装dotnet core sdk 在cmd中使用命令dotnet --version可以查看当前安装的版本 2.打开vscode,设置语言和扩展 在最左边的工具栏,点击最下面的 ...
- 论文阅读笔记(二)【IJCAI2016】:Video-Based Person Re-Identification by Simultaneously Learning Intra-Video and Inter-Video Distance Metrics
摘要 (1)方法: 面对不同行人视频之间和同一个行人视频内部的变化,提出视频间和视频内距离同时学习方法(SI2DL). (2)模型: 视频内(intra-vedio)距离矩阵:使得同一个视频更紧凑: ...
- 机器学习作业(二)逻辑回归——Matlab实现
题目太长啦!文档下载[传送门] 第1题 简述:实现逻辑回归. 第1步:加载数据文件: data = load('ex2data1.txt'); X = data(:, [1, 2]); y = dat ...
- arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc)
arm-linux-gnueabihf-gcc下载 qt下载 arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc) Ubuntu 16.04 安装QT arm嵌入式 ...
- Atom 基础使用
当你安装好了 Atom 之后,让我们来认识一下它吧. 当你第一次打开 Atom 的时候,你会看到这样的一个窗口: 这是 Atom 的欢迎屏幕(welcome screen),它展示了一些不错的建议 ...
- Selenium(Webdriver)自动化测试常问问题
http://blog.sina.com.cn/s/blog_c189e2590102w3bv.html Selenium(Webdriver)自动化测试常问问题 (1)selenium中如何保证操作 ...
- php设计模式之桥接模式实例代码
<?php header("Content-type:text/html;charset=utf-8"); abstract class msg{ protected $se ...