docke容器学习,docker基础命令
centos7安装docker
docker常用命令
docker info
docker –help
docker search nginx
docker rmi nginx 删除镜像
docker pull mysql:latest
docker images
docker run –name mysql-master-a -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
docker ps
docker run -it -name
docker start id
docker stop id
docker rm id 删除容器
docker logs -f tail
docker inspect id
docker attach
docker exec
docker cp
docker commit -am id name:tage
docker build –tag bulletinboard:1.0 .
docker run –publish 8000:8080 –detach –name bb bulletinboard:1.0
docker rm –force bb
docker network ls 查看镜像网桥
docker network create -d bridge ems 创建自定义网桥
docker create volume aa 创建数据卷
设置容器自启动:
新创建容器:docker run -p 3306:3306 --restart=always --name mysql -d mysql:5.7 已创建容器:docker update --restart=always mysql
docker内安装vi、vim、telnet、ifconfig、ping命令
apt-get update apt-get install vim 安装vim apt-get install telnet 安装telnet apt-get install net-tools 安装ifconfig apt install iputils-ping 安装ping
数据卷–数据共享
docker -run -it -v /宿主机路径:/容器内的目录 镜像名
docker commit命令 提交镜像改变,成为一个新的镜像
docker save -o abc.jar 保存镜像成为一个文件
docker load -i abc.jar 文件加载成为一个镜像
dockerfile使用教程
注意:exec和-it的命令,exec -it是容器启动完进入到容器内,-it是容器启动中进入到容器内
dockerfile案例展示
FROM centos
env mypath /tmp
workdir $mypath
run yum -y install vim
run yum -y install net-tools
expose 8080
cmd /bash/bin
安装mysql
docker run -p 12345:3306 –name mysql01 -e MYSQL_ROOT_PASSWORD=”123456″ -d mysql:5.7
from centos:7
run yum install -y vim或者run [“yum”,”install”,”-y”,”vim”]
注意:必须暴露端口,才能对外映射 expose 8080
docker网络通信
Docker 网络
Docker 会在被安装后自动创建三个默认网络,它们分别为 Bridge,None,以及 Host。使用 docker network ls
可以查看可用的网络。创建容器时,可以使用 --network
选项设置需要连接的网络。
1. None 是无网卡,None 设定之后 Docker 不会给该容器创建网卡,并且之后 Docker 无法直接对其进行网络配置。只有进入容器中才可以进行网络配置与查看
2. Host 是直接使用宿主机的网络,它解除了网络隔离,直接占用宿主机的端口。这样也可以直接使用宿主机的网络访问容器。同时 Docker 也无法直接对host进行网络配置
3. Bridge 则是网桥,创建网络的默认方式。当 Docker 启动时,会自动在主机上创建一个名为 Docker0 虚拟网桥,它会在挂载到它的网口之间进行转发。当我们创建一个新的容器时,同时会创建了一对 veth pair 接口(即对等接口,当数据包发送到一个接口时,另外一个接口也可以收到相同的数据包)。这对接口一端在容器内,即 eth0;另一端在本地并被挂载到 Docker0 网桥,名称以 veth 开头。通过这种方式,主机可以跟容器通信,容器之间也可以相互通信。
docker数据卷
docker核心架构图
dockerfile原理学习
docker-compose使用
常用命令:
docker-compose -v 查看版本
docker-compose up 启动
docker -compose -f name up 指定文件名启动
docker-compose down 停止服务
需要更新组件:组件地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
docker 修改镜像地址:https://www.cnblogs.com/doraman/p/12353148.html
修改docker desktop的数据位置:https://www.cnblogs.com/ltaodream/p/14880031.html
参考学习视频:https://www.bilibili.com/video/BV1ZT4y1K75K?p=13
https://www.bilibili.com/video/BV1og4y1q7M4?p=18
https://www.bilibili.com/video/BV13Q4y1C7hS?p=19&spm_id_from=pageDriver
docker常见错误
Error response from daemon: open /var/lib/docker/overlay2/XXX: no such file or directory
解决办法:
/ 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络
执行docker system prune -af
daemon.json设置
{ "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ], "data-root": "/home/docker" }
systemctl stop docker 改配置,然后systemctl daemon-reload && systemctl start docker
原文链接:https://www.cnblogs.com/liubaihui/p/14521655.html