Docker基础学习(配置、命令)

镜像加速

登录阿里云

bash 复制代码
docker run hello-world

分析命令:

开始-->docker在本机中寻找镜像-->有-->以该镜像为模版生产容器实例运行;

开始-->docker在本机中寻找镜像-->无-->去远端下载镜像并运行,若远端无此镜像则返回错误。

docker 命令之-帮助启动类命令

Docker启动、重启、停止、状态查看、开机启动

bash 复制代码
systemctl start docker
systemctl restart docker
systemctl stop docker
systemctl status docker
systemctl enable docker

查看docker概要信息、帮助文档、命令帮助文档

bash 复制代码
docker info
docker --help
docker 具体命令 --help 
eg: docker run --help

docker 命令之-镜像命令

docker统计信息

bash 复制代码
docker system df

列出本地镜像docker images [OPTIONS] [REPOSITORY[:TAG]]

bash 复制代码
docker iamges -qa # 列出所有镜像的ID(q:只显示id  a:所有镜像(含历史镜像))
docker iamges # 列出所有镜像信息

搜索远端镜像docker search [OPTIONS] TERM

bash 复制代码
docker search 镜像名字
docker search redis
docker search --limit 5 redis # 查询排名前五的镜像

下载远端镜像 docker pull [OPTIONS] NAME[:TAG|@DIGEST]

bash 复制代码
docker pull redis  # 下载最新的等同于  docker pull redis:latest
docker pull redis:2.1.0 # 指定版本

**镜像推送到远端 docker commit/push [OPTIONS] NAME[:TAG],push之前想登录:docker login ---- docker logout

**

bash 复制代码
docker commit <container_id> <new_image_name>:<tag> # 当前容器另存(打包)为新的容器,可以指定作者版本号
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
bash 复制代码
docker push <repository>/<image_name>:<tag> # 镜像推送到远端

镜像删除docker rmi [OPTIONS] IMAGE [IMAGE...]

bash 复制代码
docker rmi hello-world #删除单个镜像
docker rmi -f helo-world redis #删除多个镜像  -f: 强制删除
docker rmi -f$(docker images -qa) #删除所有镜像

补充:docker 虚悬镜像指的是仓库名字,镜像名都是none的但是有ID值,这些镜像建议直接删除。

docker 命令之-容器命令

**docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

**

bash 复制代码
docker run -it --name=容器新名字 redis  -p(宿主机端口):(容器端口)
# -i :以交互模式运行容器,通常与t同时使用
# -t :为容器重新分配各伪终端,通常与-i同时使用
# -P :随机端口映射,大写P
# -p :指定端口映射,小写p

启动centos镜像

bash 复制代码
docker run -it --name=mycentos centos /bin/bash # 交互时启动,启动后进入容器内部
docker run -d -redis # 守护进程式启动,不进入容器
exit # 退出--》容器停止
ctrl+q+p # 退出--》容器继续运行

容器启动、停止、重启、强制停止

bash 复制代码
docker start/stop/restart/kill [容器ID或名字]

删除容器

bash 复制代码
docker rm [容器ID或者名字]
docker rm -f [容器ID或者名字] # 强制删除正在运行的容器
docker rm -f $(docker ps -qa) # 删除所有容器 慎用慎用慎用!!!!!!

查看容器日志

bash 复制代码
docker logs [容器id、容器名]

查询容器运行情况

bash 复制代码
docker top  [容器id、容器名]

查看容器内部信息

bash 复制代码
docker inspect  [容器id、容器名]

进入正在运行的交互时容器

bash 复制代码
docker exec -it [容器ID] /bin/bash # 启动新的进程进入容器,exit退出后容器不会停止
docker attach [容器ID]  #进入容器不会启动新的进程,exit退出后容器停止

文件拷贝

容器内的文件拷贝到宿主机的根目录

bash 复制代码
docker cp 5bbd16ffc156:/data/a.txt /

容器备份--导入

bash 复制代码
docker export 5bbd16ffc156 > aa.tar  #容器备份
cat aa.tar | docker import - testimport/centos:1.0 # 备份文件恢复成镜像
相关推荐
南猿北者2 小时前
docker容器
docker·容器
二十雨辰2 小时前
[linux]docker基础
linux·运维·docker
@小博的博客2 小时前
C++初阶学习第十弹——深入讲解vector的迭代器失效
数据结构·c++·学习
time never ceases3 小时前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle
南宫生3 小时前
贪心算法习题其四【力扣】【算法学习day.21】
学习·算法·leetcode·链表·贪心算法
懒惰才能让科技进步4 小时前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
love_and_hope4 小时前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen4 小时前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)4 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
MonkeyKing_sunyuhua5 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql