Docker 学习笔记

本文大致内容
docker 学习总结
在 WSL2 中安装 docker
首先需要安装配置好 WSL2
参考 WSL 配置
安装步骤
- 确认系统版本为 CentOS 7 及以上
cat /etc/redhat-release - 卸载旧版本
yum remove docker docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine - yum 安装 gcc 相关
yum install -y gcc yum install -y gcc-c++ - 安装需要的软件包
yum install -y yum-utils - 设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo - 更新 yum 索引
yum makecache - 安装 docker ce
yum -y install docker-ce docker-ce-cli containerd.io - 修改
/usr/lib/systemd/system/docker.service文件#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock #ExecStart=/usr/bin/dockerd -H unix:// --containerd=/run/containerd/containerd.sock ExecStart=/usr/bin/dockerd - 启动 docker
systemctl start docker - 检查 docker 状态
systemctl status docker docker version - 运行 Hello-World
docker run hello-world常用命令
帮助启动类
- 启动,停止,重启,状态
systemctl start docker systemctl stop docker systemctl restart docker systemctl status docker - 开机自启
systemctl enable docker - 查看 docker 概要信息
docker info - 查看 docker 命令帮助
docker --help docker [具体命令] --help镜像命令
- 列出本地主机所有镜像
docker images [options] options: -a:列出包含历史镜像在内的所有镜像 -q:只显示镜像id - 搜索镜像
docker search [options] [image_name] options: --limit:限制列出镜像的数量,默认25个 - 下载镜像
docker pull [image_name][:tag] 举例: docker pull ubuntu 等价于 docker pull ubuntu:latest - 查看镜像/容器/数据卷所占空间
docker system df - 删除镜像
docker rmi [image_id] docekr rmi -f [image_id] #删除单个镜像 docker rmi -f image_name_0:tag image_name_1:tag #删除多个镜像 docker rmi -f $(docker images -qa) #删除所有镜像容器命令
- 新建/启动容器
docker run [options] images [command] [argument] options: --name="容器新名字":为容器指定一个新名称 -d:后台运行容器并返回容器id,即启动守护式容器(后台运行) -i:以交互式模式运行容器,通常与 -t 一起使用 -t:为容器重新分配一个伪终端,通常与 -i 一起使用 -P:随机端口映射 -p:指定端口映射 举例: docker run -it image_name /bin/bash - 列出当前正在运行的所有容器
docker ps [options] options: -a:包含历史运行过的容器 -l:显示最近创建的容器 -n:显示最近创建的n个容器 -q:静默模式。只显示容器编号 - 退出容器
exit:退出后容器停止运行 ctrl+p+q:退出后容器不停止运行 - 启动/停止/重启/强制停止容器
docker start 容器id/容器name docker stop 容器id/容器name docker restart 容器id/容器name docker kill 容器id/容器name - 删除已停止的容器
docker rm 容器id #一次性删除多个容器实例: docker rm -f $(docker ps -a -q) docekr ps -a -q | xargs docker rm - 启动守护式容器
大部分情况下,希望docker的服务在后台运行,可以通过-d使服务在后台运行
docker run -d 容器名 举例: docker run -d redis:6.0.8 - 查看容器日志
docker logs 容器id - 查看容器内运行的进程
docker top 容器id - 查看容器内部细节
docker inspect 容器id - 进入正在运行的容器并以命令行进行交互
docker exec -it 容器id /bin/bash docker attach 容器id 区别: attach 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。 exec 是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止。 举例: # 进入redis服务: docker exec -it 容器id /bin/bash docker exec -it 容器id redis-cli - 从容器内拷贝主机文件到主机上
docker cp 容器id:容器内文件路径 主机路径 - 导出/导入容器
# 导出: docker export 容器id > 文件名.tar # 导入: cat 文件名.tar | docker import - 镜像用户/镜像名:版本号
提示:本文最后更新于2024/03/31,如有错误或者已经失效,请留言告知。
THE END
