1.获取container-ip
1.1.先输入: docker ps ,获取container-id
1.2.之后输入: docker inspect --format='{{.NetworkSettings.IPAddress}}' container-id
2.容器与主机之间的文件交换:
2.1.使用docker run -i -t -v 宿主目录:虚拟目录 镜像名 /bin/bash
2.2.然后就可以在宿主目录和虚拟目录之间共享文件了.
3.显示所有容器:
docker ps -a
4.如果已经进入某容器,这时需要不退出该容器,回到本地控制台: Ctrl+P+Q
5.进入正在运行的容器:docker attach container-id
6.将image保存为tar包:docker save imageName > savePath/fileName.tar
7.将tar包加载到docker: docker load < savePath/fileName.tar
8.以ssh登录docker后,按Ctrl+D可以退出SSH.如果是run方式或attach方式进入docker的按Ctrl+P+Q回到控制台,但不退出docker.
9.Wget安装Docker : wget -qO- https://get.docker.com/ | sh
10.Dockerfile: docker build -t newImageName path
11.非root用户使用docker: sudo usermod -aG docker leo
12.使用Docker自带的-m操作进行内存限制时可能会由于内核限制所以出现以下提示
Your kernel does not support swap limit capabilities.memory limit without swap
必须通过修改grub文件/etc/default/grub
添加:
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
之后更新grub并重启可以解决
$ sudo update-grub
$ sudo reboot
13.使用docker -m操作会使内存被限制为输入大小的两倍
$ sudo docker run -it --name test -m 100m ubuntu /bin/bash
此时内存被限制为200m
若想要限制为100m必须执行
$ sudo docker run -it --name test -m 100m --memory-swap=100m ubuntu /bin/bash
此时内存与swap都被限制为100m
14.内存压测工具stress
$ sudo apt-get install stress
$ sudo stress --vm 1 --vm-bytes 100M --vm-hang 0
若运行后现实在几秒内被杀死说明内存被限制为100M
15.Docker remote Api:
使用dockerd启动docker,并可让远程docker client连接
dockerd -H unix:///var/run/docker.sock -H 0.0.0.0:2375
第一个-H代表,给本地的client连接,第二个-H代表,给远程的所有主机连接.
远程的client可以这样调用:
docker -H $ip:$port $CMD
例:
docker -H 123.123.123.123:2375 images //查看远程docker daemon的所有镜像