Docker复习01——常用命令+导入导出

本系列笔记来自b站尚硅谷

Docker

    go语言开发 docker必须部署在linux内核的系统上
为什么出现

在我这能跑,你那跑不起来,现在 利用docker 把代码+环境+配置 一起打包成镜像,然后就可以直接运行

docker 理念

一次镜像 处处运行

是什么

解决了运行环境和配置问题的软件容器, 方便做持续集成并有助于整体发布的容器虚拟化技术。

传统虚拟机和Docker比较

安装

官网 docker 官网 http://www.docker.com

仓库 Docker Hup官网 https://hup.docker.com

Docker的基本组成

    镜像 可以把容器看成一个简易版linux环境,镜像就是应用 容器 容器是用镜像创建的运行实例 仓库 集中存放镜像的地方

常用命令

镜像命令

# 帮助启动类命令
systemctl start docker   # 启动

systemctl enable docker # 开机自启

docker --help
docker 具体命令 --help


docker search --limit 5 redis # 查询
docker pull redis[:tag]  # 下载  没有写版本号就是最新的


docker images -aq # 展示所有的镜像ID

docker system df # 查看所占的空间

docker rmi -f 镜像id  # 删除某个镜像

虚悬镜像

仓库名 标签名都是《none》的镜像

容器命令

ubuntu

docker run 
-d # 后台运行
-it  # 交互式容器 
 --name=   # 名字
 -p  # 端口
 -P  # 随机端口
 
 
 docker run -it ubuntu /bin/bash
 docker run -it --name=myubuntu ubuntu /bin/bash
 
 docker ps # 列出正在运行的容器
 -a # 所有
 -l # 最近的
 -n 2 # 列2个
 -q # 只显示容器id
 
 
# 退出
exit   # run进去,exit退出,容器停止
ctrl+p+q # run进去,exit退出,容器不停止

docker start 容器id # 启动已停止运行的容器
docker restart
docker stop
docker kill  # 强制停止
docker rm -f 容器id # 删除已停止的容器

大部分都喜欢在后台使用 -d 来指定后台模式

docker run -it redis:6.0.8 #前台交互 直接显示了redis启动界面

docker run -d redis:6.0.8 #后台守护 返回一个容器id号
docker logs 容器id # 看日记
docker top 容器id  # 查看容器内的进程
docker inspect 容器id #容器详细信息

两种进入容器的方式

docker run -it ubuntu /bin/bash
ctrl+p+q 
docker exec -it 容器id /bin/bash  # 进入容器
exit 
docker ps  # 退出容器,不会导致容器停止,容器还是活着

docker attach 容器id /bin/bash  # 进入容器
exit 
docker ps  # 容器停止了,不见了

# 肯定用exec啊~

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

docker cp 容器id:容器内路径  /主机内路径

docker cp da32135dasds:/tmp/a.txt  /opt/module

导入导出

docker export da32135dasds  > abcd.tar #直接把一个容器变成一个jar包
# 导入
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本

cat abcd.tar | docker import - atguigu/ubuntu:3.7
docker images # 发现就有了镜像

经验分享 程序员 微信小程序 职场和发展