文章目录
- 1. 基础概念
- 2. 安装docker
- 3. docker常用命令
- 3.1 帮助命令
- 3.2 镜像命令
- 3.3 容器命令
- 3.4 其他命令
- 4. 使用案例
1. 基础概念
- 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
2. 安装docker
https://docs.docker.com/engine/install/centos/
- 卸载旧的docker
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
# 安装gcc环境
yum -y install gcc
yum -y install gcc-c++
- 安装docker需要的仓库地址配置
yum install -y yum-utils#国外源比较慢
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 国内镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装docker
#更新yum索引
yum makecache fast# 安装docker
yum install -y docker-ce docker-ce-cli containerd.io
- 启动docker
systemctl start docker
- 测试安装是否成功
docker run hello-world
卸载docker
systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
查看下载的镜像
docker images
3. docker常用命令
docker infodocker version
3.1 帮助命令
docker --helpdocker run --help
3.2 镜像命令
# 展示所有镜像
docker images
# 展示所有镜像
docker images -a
# 只展示镜像id
docker images -q
# 在docker Hub中搜索镜像
docker search 镜像名称
# 搜索star不小于50的镜像
docker search --filter=STARS=50
# 下载指定镜像
docker pull 镜像名称
# 移除镜像
docker rmi 镜像名称/镜像id
# 强制删除
docker rmi -f 镜像名称/镜像id
# 强制删除所有镜像
docker rmi -f $(docker images -aq)
3.3 容器命令
# 查看运行中容器
docker ps
# 查看所有容器
docker ps -a
# 查看容器的id
docker ps -q
# 创建容器,如果镜像不存在则会自动pull下载镜像
docker run 镜像名称
# 常用参数
--name="Name" 可以给容器起一个名字
-d 容器后台启动
-i 用交互的方式启动
-t 给容器分配一个终端登录使用 bin/bash
-p 指定端口映射(主机访问的端口,容器端口)
-e 环境配置在hub.docker.com中查看
# 可选参数组合使用
docker run -itd 镜像名称/镜像id
# 后台拉起容器
docker run -d 镜像名称/镜像id
# 交互式启动登录
docker run -it 镜像名称/镜像id
# 退出容器,容器停止运行。使用ctrl+P+Q不会停止运行
exit
docker start 镜像名称/镜像id
docker restart 镜像名称/镜像id
docker stop 镜像名称/镜像id
docker kill 镜像名称/镜像id
# 删除容器
docker rm 容器名/容器id
# 删除所有容器
docker rm -f $(docker ps -aq)
# 如果这个容器里面没有前台进程,直接通过-d启动,就会退出
docker run -d centos
# 交互方式后台启动
docker run -d -it centos /bin/bash
3.4 其他命令
# 查看容器运行日志,ctrl+z终止执行
docker logs --help
-t 打印时间戳
-f 打印最新的日志
# 查看容器相关的进程
docker top 容器id
# 查看容器的元数据
docker inspect 容器id
# 进入一个正在执行的容器
docker exec -it 容器id /bin/bash
# 进入容器正在执行的终端
docker attach 容器id
区别:
exec时在容器打开新的终端,并且可以启动新的进程
attach直接进入容器启动命令的终端,不会启动新的进程
# 拷贝容器内的文件到主机
docker cp 容器id:文件路径 本机路径
4. 使用案例
安装运行nginx镜像
docker pull nginxdocker run nginxdocker run -d --name zsq-nginx -p 3500:80 nginxdocker psdocker exec -it 容器 /bin/bash