docker
生成镜像
docker build --no-cache --build-arg NODE_ENV=production -f Dockerfile -t imageName:tag .
1
docker run
docker run --name 容器名 -d -p 8888:80 镜像名
1
查看宿主机上的镜像,Docker 镜像保存在/var/lib/docker 目录下
docker images
1
删除镜像
docker rmi b39c68b7af30
1
查看当前有哪些容器正在运行
docker ps
1
查看所有容器
docker ps -a
1
启动、停止、重启容器命令
docker start container_name/container_id
docker stop container_name/container_id
docker restart container_name/container_id
1
2
3
2
3
删除容器的命令
docker rm container_name/container_id
1
获取容器
docker pull image_name
1
根据容器名称查询容器 ID
# 第一种写法
docker stop `docker ps -a| grep 容器名称 | awk '{print $1}' `
docker rm `docker ps -a| grep 容器名称 | awk '{print $1}' `
# 第二种写法
docker stop `docker ps -aq --filter name=容器名称`
docker rm `docker ps -aq --filter name=容器名称`
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
根据镜像名称查询镜像 ID
#第一种写
docker images -a |grep 镜像名 |awk '{print $3}'
#第二种写法
docker images -q --filter reference=镜像名
#删除的第一种写法
docker image rm `docker images -q --filter reference=镜像名`
#删除的第二种写法
docker rmi `docker images -q --filter reference=镜像名`
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
搜寻 tag 为 none 返回 image id
docker images -f "dangling=true" -q
1
docker 启动
这条命令会用 nginx 镜像启动一个容器,命名为 docker_nginx_v1
docker run --name docker_nginx_v1 -d -p 80:80 nginx:v1
1
2
2
修改容器内容
docker exec -it docker_nginx_v1 bash
1
移除所有的容器和镜像
docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi $(docker images -q -a)
1
删除所有的容器
docker kill $(docker ps -q) ; docker rm $(docker ps -a -q)
1
修改 pull 国内源地址
vi /etc/docker/daemon.json
#添加后
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}
1
2
3
4
5
6
2
3
4
5
6