本系列笔记来自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 # 发现就有了镜像