进入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)