docker操作
2019-02-27 14:21:27 0 举报
AI智能生成
Docker 相关操作 脑图
作者其他创作
大纲/内容
images
启动image
docker run -opt name
-it 交互式
-d 后台运行
--name new_name 重命名docker
内存限额
-m or --memory -m 100M|2G
--memory-swap=100M 设置 内存+swap
--vm 1;启动一个内存工作线程
--vm-bytes280M;每个线程分配280M内存
CPU限制
-c或--cpu-shares 设置CPU权重,默认1024
--cpu 设置工作线程的数量
使用特定网络
--network
docker run -it --network my_net2 busybox
--ip xx 指定静态IP
为容器再接入一块网卡(网络)
docker network connect my_net2 container_id (my_net2为自定义的网络)
删除image
docker rmi xxxx
下载image
docker pull httpd
为镜像命名
docker tag myinage-v1.9.1 myimage:1
容器 (image启动之后的实例)
start
stop
restasrt
kill
pause
unpause
rm (删除容器)
进入镜像
attach
docker exec -it id bash
docker ps [-a]
docker logs id(查看日志)
build image
commit方式
docket commit old_oid new_id
Dockerfile方式
docker build -t new_name .
FROM
MAINTAINER
COPY
ADD
ENV
EXPOPSE
VOLUME
WORKDIR
RUN
CMD
ENTRYPOINT
Registry
命令行 登陆 docker loing -u xxx
push 镜像
- docker tag httpd username/imgname:v1 docker push username/imgname:v2
docker network
singe-host
none网络
host网络 与 host网络一致 不能与主机已经占用的端口冲突,性能好
bridge 网络 会虚拟出一个docker0的Linux bridge
自定义网络
bridge
docker network create --driver bridge my_net \n brctl show
--subnet --gateway 指定子网和网关
overlay
macvlan
容器间通信
IP通信
必须处于同一个网络,不在同一个网络通过network connect user-define host_ip
Docker DNS Server
必须是用户自定义的网络且在同一网络内,利用Docker内置的DNS 加 --name
joined 容器(共享网络栈,速度快)
docker run -d --name web1 httpd \n docker run -it --network container:web1 busybox
容器访问外部世界
NAT转换
外网访问容器
端口映射
参数
--network 用来指定使用哪一种网络
docker network ls 查看Docker网络
docker-self multi-host
overlay
macvlan
存储
storage driver
优先使用Linux发行版默认的storage driver
Data volume
挂载host上的目录或文件
bind mount
-v 挂载(-v src:desc:ro --privileged=true)
docker managed volume
-v 只需指定dest,docker配置源目录,用docker inspect id查看source
docker volume ls 查看volume \n docker volume inspect id 查看volume信息
主要:删除该容器时 需要加 -v 参数,如果没有加,volume将会成为孤儿volume,通过 docker volume ls 与docker volume rm id删除孤儿volume
共享数据
使用storage 分别挂载
使用volume container 共享数据
docker create --name vc_data -v xx:xx1 -v xx2 busybox create volume container(只是提供数据,不需要运行)
docker inspect vc_data 查看volume信息
通过--volumes-from指定volume containter (docker run -d -p 80:80 --volume-from vc_data --name web1 httpd)
docker inspect web1
通过data-packed volume container
就是 通过Dockerfile 和 VOLUME 在buildimage时把数据放进去,在使用 volume container的方式共享数据,不用限制到一个host
多主机管理
docker machine
安装 docker machine
创建machine
查看machine
docker-machine ls
创建
ssh-copy-id dest_ip
docker-machine create --driver generic --generic-ip-address=10.10.10.4 host1
管理machine
docker-machine env host1
eval $(docker-machine env host1)
docker ....等操作
0 条评论
下一页