docker top 查看进程信息docker attach 连接到正在运行中的容器docker run --name 运行容器并为容器指定名称docker run -d 后台运行docker run -i -t name /bin/bash 运行容器并执行容器中的bash命令docker exec -it container /bin/bash 执行容器中的bash命令docker images 查看镜像docker ps -a 查看所有容器docker restart 重启容器dockr stop 停止容器docker rm container-name 删除容器docker rmi image-name 删除镜像docker ps -l -q 刚创建的容器docker login ssh登录docker logout 退出docker pull 获取镜像docker push 推送镜像docker tag 重命名镜像sudo service docker status 查看docker运行状态sudo service docker start/stop/restart 打开/关闭/重启docker服务docker rmi $(docker images -q -f dangling=true) 删除所有未打 dangling 标签的镜像docker save -o update1.tar update 镜像备份docker load < update1.tar 镜像还原docker export cbe3cb7799ed > update.tar 容器导出docker import - update < update.tar 容器导入docker-compose up -d --force-recreate 使用 --force-recreate 可以强制重建容器 (否则只能在容器配置有更改时才会重建容器)docker-compose down 停止所有容器,并删除容器 (这样下次使用docker-compose up时就一定会是新容器了)
想要删除untagged images,也就是那些id为<None>的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
配置阿里云镜像源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://okk35m0j.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
进入nginx:1.13.5-alpine容器:docker exec -it name sh
docker网络
1.Bridge模式,Docker采用 NAT 方式,将容器内部的服务监听的端口与宿主机的某一个端口port 进行“绑定”,使得宿主机以外的世界可以主动将网络报文发送至容器内部。 2.Bridge模式,外界访问容器内的服务时,需要访问宿主机的 IP 以及宿主机的端口 port。 3.Host模式,Docker Container的 IP 地址即为宿主机 eth0 的 IP 地址。 4.Container模式,Docker 容器会共享其他容器的网络环境。 5.None模式,不为 Docker 容器构造任何网络环境,容器只能使用127.0.0.1的本机网络。 6.docker中有5中网络模式:bridge、host、none、container、overlay,可以通过--net=**指定容器的网络模式。 7.当使用host模式网络时,容器实际上继承了宿主机的IP地址。该模式比bridge模式更快(因为没有路由开销),但是它将容器直接暴露在公共网络中,是有安全隐患的。 8.容器在两个跨主机进行通信的时候,是使用overlay network这个网络模式进行通信,如果使用host也可以实现跨主机进行通信,直接使用这个物理的ip地址就可以进行通信。 9.容器与其他同网段节点相互通信,不与宿主机进行通信,可以使用host网络模型。docker各种网络性能:
1.Bridge 模式的性能损耗大概为10% 2.原生 overlay 模式的性能损耗非常高,甚至达到了 56%,因此,在生产环境下使用这种模式需要非常谨慎。 3.如果一定要使用 overlay 模式的话,可以考虑使用 Cisco 发起的 Calico 模式,它的性能和 bridge 相当。