Docker学习

74 阅读2分钟

CentOS7 安装 Docker

在 CentOS 上安装 Docker 引擎

1. 确定你是 CentOS7 及以上版本

sudo cat /etc/redhat-release

2. 卸载旧版本

sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

3. yum 安装 gcc 相关

  1. CentOS7 能上外网
  2. sudo yum -y install gcc
  3. sudo yum -y install gcc-c++

4. 安装需要的软件包

sudo yum install -y yum-utils

5. 设置 stable 镜像仓库

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6. 更新 yum 软件包索引

sudo yum makecache fast

sudo yum makecache fast 将软件包信息提前在本地索引缓存, 用来提高搜索安装软件的速度, 建议执行这个命令可以提升 yum 安装的速度。

7. 安装 DOCKER CE

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

8. 启动 Docker

sudo systemctl start docker

9. 测试

sudo docker version
sudo docker run hello-world

10. 卸载

sudo systemctl stop docker
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

镜像加速配置

1. 步骤

  1. 登录阿里云
  2. 打开控制台
  3. 容器 -> 容器镜像服务 ACR
  4. 镜像工具 -> 镜像加速器
  5. 按照操作文档进行配置

2. 配置

针对 Docker 客户端版本大于 1.10.0 的用户

您可以通过修改 daemon 配置文件 /etc/docker/daemon.json 来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://62dzega1.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker 常用命令

1. 帮助启动类命令

1.1 启动 Docker

systemctl start docker

1.2 停止 Docker

systemctl stop docker

1.3 重启 Docker

systemctl restart docker

1.4 查看 Docker 状态

systemctl status docker

1.5 开机启动 Docker

systemctl enable docker

1.6 查看 Docker 概要信息

docker info

1.7 查看 Docker 总体帮助文档

docker  --help

1.8 查看 Docker 命令帮助文档

docker xxx(command) --help

2. 镜像命令

2.1 列出本地主机上的镜像

options:

  • -a: 列出本地所有的镜像(含历史映像层)
  • -q: 只显示镜像 ID
docker image

2.2 搜索某个镜像

options:

  • --limit: 只列出 N 个镜像, 默认 25 个
docker search --limit n image

2.3 拉取某个镜像

options:

  • tag: 版本号
docker pull image[:tag]

2.4 删除镜像

options:

  • f: 强制删除
docker rmi -f image // 删除单个镜像
docker rmi -f image1:tag image2:tag // 删除多个镜像
docker rmi -f $(docker image -qa) // 删除全部镜像

3. 容器命令

3.1 新建启动容器

有镜像才能创建容器

options:

  • --name: 新容器名
  • -d: 后台运行容器并返回容器 id, 也即启动守护式容器(后台运行)
  • -i: 以交互模式运行容器, 通常与 -t 通常使用
  • -t: 为容器重新分配一个伪输入终端, 通常与 -i 同时使用; 也即启动交互式容器(前台有伪终端, 等待交互)
  • -p: 指定端口映射, 小写 p
  • -P: 随机端口映射, 大写 P
docker run -p 80:80 redis:6.0.8 --name=mr01

3.2 列出当前所有正在运行的容器

options:

  • -a: 列出当前所有正在运行的容器 + 历史上运行过的
  • -l: 显示最近创建的容器
  • -n: 显示最近 n 个创建的容器
  • -q: 静默模式, 只显示容器编号
docker ps

3.3 退出容器

exit // 容器会停止
ctrl + p + q // 容器不停止

3.4 启动已停止的容器

docker start container

3.5 重启容器

docker restart container

3.6 停止容器

docker stop container

3.7 强制停止容器

docker kill container

3.8 删除已停止的容器

options:

  • -f: 强制删除
docker rm container // 删除某个容器
dokcer rm -f $(docker ps -a -q) // 删除全部容器
docker ps -a -q |  | xargs docker rm // 删除全部容器

3.9 查看容器日志

docker logs container

3.10 查看容器内运行的进程

docker top container

3.11 查看容器内部细节

docker inspect container

3.12 与已经启动和运行的容器进行交互

docker exec -it container /bin/bash

3.13 从容器内拷贝文件到主机

docker cp container:path host_path

3.14 导入和导出容器

docker export container file_name.tar
docker import file.tar user/image:latest