(一)、安装docker
1)sudo yum install -y yum-utils
device-mapper-persistent-data
lvm2
2)sudo yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
3)sudo yum install docker-ce docker-ce-cli containerd.io
4)在/usr/lib/systemd/system/docker.service中可修改以下参数:
--data-root 指定docker运行的数据存放位置
ExecStart=/usr/bin/dockerd --data-root /data/tools/docker/ -H fd:// --containerd=/run/containerd/containerd.sock
5)阿里云镜像加速器
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
mkdir -p /etc/docker
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://i21isphl.mirror.aliyuncs.com"]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
(二)、启动docker
systemctl start docker
(三)、docker版本查询
docker -v
Docker version
(四)、安装docker-compose
1)、下载:https://github.com/docker/compose/releases/tag/1.26.0-rc3
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose(慢)
2)、可执行权限:chmod +x /usr/local/bin/docker-compose
3)、ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
4)、docker-compose --version
(五)、docker常用命令
1、帮助命令
docker version
docker info
docker --help
2、镜像命令
(1)列出本地主机上的镜像文件
docker images
-a:列出本地所有的镜像(含中间镜像层)
-q:只显示镜像ID
--digests:显示镜像的摘要信息
--no-trunc:显示完整的镜像信息
(2)docker search 某个镜像的名称
网站:https://hub.docker.com/
命令:
-s:列出收藏数不小于指定值的镜像
--no-trunc:显示完整的镜像描述
--automated:只列出自动构建的镜像
(3)下载镜像(
配置阿里云镜像加速 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors)
docker pull 某个镜像的名称[:TAG]
例:docker pull tomcat 等价于 docker pull tomcat:latest
(没写版本号代表自动下载最新版本)
(4)删除镜像
docker rmi 某个镜像ID或唯一镜像名(没写版本号代表删除最新版本)
删除单个:docker rmi -f 镜像ID
删除多个:docker rmi -f 镜像名1:TAG 镜像名2:TAG
删除全部:docker rmi -f $(docker images -qa)
3、容器命令
有镜像才能创建容器,这是根本前提
(1)新建并启动容器---启动交互式容器
docker run [options] image [commnd] [arg...]
根据镜像新建这个镜像的具体实例容器
options:
--name=“容器新名称”:为容器指定一个名称
-i:以交互模式运行容器,通常与-t同时使用
-t:为容器重新分配一个伪输入终端,通常与-i同时使用
-d:后台运行容器,并返回容器ID,也即启动守护式容器
-P:随机端口映射
-p:指定端口映射
(2)列出当前所有正在运行的容器
docker ps
-l:显示最近创建的容器
-a:列出当前所有正在运行的容器+历史上运行过的
-n:显示最近n个创建的容器
-q:静默模式,只显示容器编号
(3)退出容器
两种退出方式
第一:exit 容器停止退出
第二:ctrl+P+Q 容器不停止退出
(4)启动容器
docker start 容器ID或容器名
(5)重启容器
docker restart 容器ID或容器名
(6)停止容器
docker stop 容器ID或容器名
(7)强制停止容器
docker kill 容器ID或容器名
(8)删除已停止的容器
docker rm 容器ID或容器名
一次性删除多个容器
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
(9)重要
(9.1)、启动守护式容器
docker run -d image 使用镜像以后台模式启动一个容器
(9.2)、查看容器日志
docker logs -f -t --tail 容器id (-t 加入时间 -f实时更新 --tail 倒数几行)
(9.3)、查看容器内运行的进程
docker top 容器id
(9.4)、查看容器内部的细节
docker inspect 容器id
(9.5)、进入正在运行的容器并以命令行交互
docker exec -it 容器id bashShell
docker attach 容器id
上述两个区别:
attach:直接进入容器启动命令的终端,不会启动新的进程
exec:在容器中打开新的终端,并且可以启动新的进程
例如:
docker run -it centos /bin/bash (/bin/bash默认,可写可不写)
ctrl+P+Q
docker ps
docker attach 容器id
ls -l(查看docker内centos精简版的容器的当前目录下的内容)
ctrl+P+Q
docker ps
a、docker exec -it 容器id ls -l /tmp
b、docker exec -it 容器id /bin/bash 类似attach
(9.6)、从容器内拷贝文件到主机上
docker cp 容器id:容器内的路径 目的主机路径