docker学习-qiang
2024-09-04 18:49:35
docker优势
轻量级、资源损耗少、启动快、性能高、只能运行linux系统
容器技术发展历程
1.chroot技术
新建一个子系统(拥有自己完整的系统文件)
ldd /bin/ls(查看ls命令依赖的库文件)
2.linux容器(lxc)-linux container
namespaces命名空间、隔离环境、cgroup进程资源限制
3.docker容器
初期使用lxc二次开发,后期使用libcontainer
docker加速器 #使用阿里加速更靠谱
vim /etc/docker/daemon.json
{"registry-mirrors":["https://registry.docker-cn.com"]}
docker info 检查加速
镜像管理
docker search -搜索镜像
docker pull -拉镜像,默认最新版latest
docker image ls -镜像列表
docker image save -镜像导出
docker image load -镜像导入
docker image rm -镜像删除
容器管理
run-创建并启动
start-启动
-d 后台运行
-p 指定端口映射
-P 系统自动指定端口映射
-it 分配交互式终端
--name 指定容器名称
ctrl+d 退出容器
-v 源地址(宿主机):目标地址(容器)
-e 环境变量
docker container ls 查看启动容器
docker container ls -a 查看所有容器
docker container start/restart/stop/kill/rm/rename 启动/停止/杀死/删除/重命名 容器
进入正在运行的容器
docker container attach 进入容器同一个终端,画面同步
docker container exec -it name /bin/bash 使用exec分配tty进入容器
/bin/bash 覆盖容器初始命令
ctrl+p,ctrl+q悄悄退出
容器网络
默认容器网络-nat模式,172网段
-p 80:80
-p 514:514/udp 指定udp协议,默认tcp协议
容器数据持久化
docker container cp 宿主机目录 容器名:目录 -复制宿主机目录
docker cp /data/docker/test01/ docker-centos01:/ttt
docker run -d -v 源地址(宿主机):目标地址(容器) 容器名 -挂载主机目录,之后直接修改宿主机目录内容便可
数据卷管理
docker run -d -v 卷名:目标地址(容器) 容器名 -数据卷(第一次卷空,将容器数据拷贝至卷;若卷有数据则卷数据挂载到容器)
docker volume inspect 卷名
--volume-from 跟某一个已经存在的容器挂载相同的卷
docker run -itd -v tes:/opt/ centos /bin/bash
docker run -itd -v /data/docker/test/:/opt/ centos /bin/bash
手动制作镜像
docker run -it -p 81:80 centos /bin/bash
yum install nginx -y
nginx
ctrl+d
docker container commit nifty_lamarr centos8-nginx01
docker image ls
docker run -itd -p 81:80 centos8-nginx01 /bin/bash
自动制作镜像dockerfile
基础镜像信息 FROM
制作镜像操作指令 RUN
容器启动时执行初始命令 CMD [" "]
docker image build -t 镜像名称 --network=host dockerfile路径
root账户登录
docker exec --user root -it mongo /bin/bash
自动重启
--restart unless-stopped \
时间一致
-v /etc/localtime:/etc/localtime:ro
日志
docker logs ID -f
最新文章
- TopCoder SRM 639 Div.2 500 AliceGameEasy
- Oracle客户端连接远程Oracle服务中文乱码问题
- sql逻辑执行顺序
- 解决SQLSERVER数据库表被琐死!
- ABAP 内表的行列转换-发货通知单-打印到Excel里-NEW
- Java异常分类
- [POJ1383]Labyrinth
- uploadify3.2.1加载时,报NetworkError 404 Not Found或NetworkError forbidden错误
- 141. Linked List Cycle
- Java汉字乱码问题
- 【安富莱二代示波器教程】第6章 示波器设计—双通道ADC驱动
- Go 初体验 - 常量 与 iota
- dataguard主库删除归档日志后从库恢复的方法
- 这是一个新的开始at this very monment
- mysql的一点小错误
- BZOJ.2588.Count on a tree(主席树 静态树上第k小)
- Apache通过配置.htaccess文件禁止访问.git、.svn等目录
- Local Storage
- [leetcode]127. Word Ladder单词接龙
- bloomfilter 以及count min sketch