Docker安装和常用命令
1. Linux安装docker
-
安装gcc
yum 安装gcc yum -y install gcc yum -y install gcc-c++
-
删除原有docker,如果有
$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum -y install containerd.io-1.2.6-3.3.el7.x86_64.rpm
安装最新版本命令
yum install docker-ce docker-ce-cli containerd.io
docker随系统启动
systemctl enable docker.service
2. Docker命令
2.1 帮助命令
docker version #查看版本
docker info
2.2 镜像命令
| REPOSITORY | TAG | IMAGE ID | CREATED | VIRTUAL SIZE |
|------------|-----|----------|---------|--------------|
| 镜像名称 | 版本| 镜像ID | 创建时间| 大小 |
------------------------镜像-------------------------------------
docker images # 列出本地所有镜像
-a #列出本地所有的镜像(包含中间映像层)
-q #只显示镜像id
--digests #显示镜像的摘要信息
--no-trunc #显示完整的镜像信息
-qa #显示所有镜像的id 可以查出所有id批处理操作
docker search 镜像的名称 # 查找某个镜像 http://hub.docker.com 上寻找资源
-s #列出收藏数不小于指定值得镜像
--no-trunc #显示完整的镜像信息
--automated #只列出automated build类型的镜像
docker pull 镜像名称[TAG] #拉去一个镜像
docker rmi imageId [imageId] # 删除镜像 ,删除镜像之前必须先删除创建的容器 [imageId]删除多个image
docker rmi -f ${docker images -q} #删除所有镜像
-----------------------------------------------------------------
2.3 容器命令
-------------容器--------------
docker run [OPtiONS] imageId [CMD] [ARGS] # 新建并运行一个容器
[OPTIONS]
=> --name='容器的新名称' : 为容器指定一个名称 是唯一的
=> -d : 后台运行容器,并返回容器的id
=> -i : 以交互模式运行容器,通常与 -t一起使用
=> -t : 为容器分配一个伪输入终端,通常与-i一起使用
=> -P : 随机端口映射
=> -p : 指定端口映射,有四种各执
-> ip:hostport:containerport
-> ip::containerport
-> hostport:containerport
-> containerport
docker ps # 列出所有正在运行的容器
docker ps -a #列出所有正在运行或者已经停止的容器
exit #容器停止并退出
ctrl+P+Q #容器不停止并退出
docker stop containerId # 停止一个容器
docker start containerId # 启动一个容器
docker restart containerId # 从起一个容器
# 删除一个容器
docker rm containerId
# 删除多个容器
docker rm -f ${docker ps -a -q}
docker ps -a -q| xargs docker rm
-------------------查看日志-----------------------
docker logs -f -t --tail containerId
-t # 加入时间戳
-f # 跟随最新的日志打印
--tail # 数字显示最后多少条
-------------------查看容器内 top--------------------
docker top containerId
-------------------查看容器内细节-----------------
docker inspect containerId
-------------------进入容器--------------------
docker exec -it containerId /bin/bash
docker attach containierId
-------------------------拷贝-------------------------
docker cp containerId:/tmp/log.log /home # 将容器中log.log文件拷贝到home文件夹中
关联容器目录
docker run -it -v /宿主机绝对路径目录:/容器内部目录 镜像名
#例子:
docker run -it -v /myDataVolume:/dataVolumeContainer ubuntu
docker inspect containerid #以json的方式查看docker信息
docker attach containerId #重新进入容器
# 带权限的命令
docker run -it -v /宿主绝对路径:/容器内目录:ro 镜像名 # :ro 只读命令