docker 笔记

181 阅读1分钟

进入docker container docker exec -it [containerid] /bin/bash

退出docker contaniner ctrl+d 退出容器且关闭 ctrl+p+q 退出容器但不关闭

复制文件到docker docker cp [本地文件夹/文件] [containerid]:[docker container 文件夹/文件地址] 例: docker cp /app/web 1e3di9837h:/var/www or docker cp 1e3di9837h:/var/www /app/web

从镜像启动容器 docker run -ti --name [container name] -d -p 4000:80 [image]

  • container name: 要启动的容器名称
  • image: 镜像名称
  • 4000: 本地端口
  • 80: 容器端口
  • -d: 后台运行
  • -i: 让docker分配一个伪终端并绑定到容器的标准输入上
  • -t: 让容器的标准输入保持打开
  • 没有-i -t命令无法启动容器

停止运行的容器 docker container stop 66dc5ba0be18 启动容器 docker start 66dc5ba0be18

docker unbuntu 安装redis

apt-get update #更新软件包列表
apt-get install redis-server
apt-get install mongodb

docker build 镜像

docker build -t=镜像名称 .
  • -t: --tag的缩写
  • . : 当前目录所有文件

停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令: docker rm $(docker ps -a -q)

查看当前有些什么images docker images

删除images,通过image的id来指定删除谁 docker rmi <image id>

想要删除untagged images,也就是那些id为的image的话可以用 docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

要删除全部image的话 docker rmi $(docker images -q)

推送镜像到docker hub

docker tag devops 用户名/镜像名:1.0
docker push 用户名/镜像名(:1.0)