admin管理员组文章数量:1530085
Docker
1 Outline
Container vs Virtual Machine
virtual machine: 带 environment 安装的一种解决方案。virtual machine 大,笨重,慢。 Container 和 virtual machine 不同,dont need to bind 捆绑 一整套 Operation System。
三核心: 容器 仓库 镜像
1 image:java class; 2 container: new instance; 3 repo: store images
image 文件可以看作是 container 的 template, 同一个 image file, 可以生成多个同时 run 的 container instance.
docker 拿 Linux 系统借鸡生蛋,所以必须安在 Linux 上
Docker 本身是 container run 的载体或者说 management engine。
Docker is a Client-Server structure system. Docker daemon running on host, we access through Socket connection client. daemon receive command and manage containers who running at host. Container, is a runtime environment , that is “集装箱”。 我在这台机子上跑的 SQL Statement 换台机子的 mysql 上一样跑。这台的 image 给另一台也一样。
可以把 container 看作是一个简易的 linux environment( includes root user privilege, process space, user space, network space etc.) and application programs running in it.
2 install
On Official site:
yum-config-manager --add-repo http://mirrors.aliyun/docker-ce/linux/centos/docker-ce.repo
如果你复制官网的库,不自己配国内镜像,会不停地出现:
DOCKER CE (DOCKER Engine)
Official site:
2.1 阿里云镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://95t3vicv.mirror.aliyuncs"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Why Docker is faster than Virtual Machine?
centos iso, 软件硬件甚至包括打印机驱动!用得到的用不到的全得加载。出行给我汽车就行了,虽然火车牛逼。。。而 docker 和宿主机 host 共用一个 OS 内核 core.
念起即断,念起即觉
docker 虚悬镜像是什么?无头冤案
3 Command
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
🎈 第一次启动某 container:
docker run -[OPTIONS], //常用OPTION:--name -i -t -d -P -p
🎈 第二次启动某 container:
docker start mysql0 , docker restart mysql0
对于某些人docker无法run成功mysql容器的,可以在命令中加–privilege=true
🎈 Show containers just running now:
docker ps
🎈 Show all containers:
docker ps -a
🎈 Remove container:
docker rm -f //就算你在吃饭,我也要把你饭桌给掀了
note:
docker run -d redis
容易启动失败, 因为这样做,redis 为 deamon process pattern 运行,就导致 docker 前台没有运行的应用,这样的 container 在后台启动后会立即自杀,因为他觉得他没事可做了。
🎈 Check log:
docker logs [CONTAINER ID]
🎈 进入某 container 内部 (means 重新进 container 并调出 interactive terminal):
docker exec -it CONTAINER-ID bashShell
docker exec -it CONTAINER-ID /bin/bash
docker attch CONTAINER-ID # 会人走拆庙
🎈 钻出 contianer:
exit
🎈 把重要文件从 container copy to 主机
docker cp ddblae909a66:/tmp/a.txt /zzyyuse
🎈 把整个 container copy…
cat abcd.tar | docker import-atguigu/ubuntu:3.7
4 IMAGE
UnionFileSystem
docker image layer is READONLY, only container layer is writable.
5 Container Data Volume
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
相当于快捷方式.
6 install tomcat mysql…
mysql 中文乱码问题: note: 改 myf 并重启,之前,created 的 db 全都无效!要在新建的 db 里写, 不然写中文还是会 报 错。 因为当时的 db 这个值还是 latin
版权声明:本文标题:Docker Essential 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1726241951a1062241.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论