【Docker新手篇】Docker常见命令
- Docker 常用命令
- 设置 docker 开机自启
- 查看 Docker 版本
- docker pull (拉取镜像)
- docker push (推送镜像)
- docker tag (镜像重命名)
- docker run (运行镜像)
- docker stop (停止运行容器)
- docker restart(重启容器)
- docker exec (进入容器)
- docker images (查看本地镜像)
- docker save (保存镜像到本地)
- docker load (将本地目录下的镜像备份文件导⼊到本地仓库)
- docker ps (查看最近的运行容器)
- 查看所有正在运行的容器
- docker rmi (删除一个镜像)
- 查看所有数据卷
- 删除指定数据卷
- 删除所有未关联的数据卷
- 从主机复制文件到容器
- 从容器复制文件到主机
docker pull tomcat 拉取镜像
docker run -it --rm tomcat bash 进入一个交互的Tomcat退出后删除镜像
docker run 启动一个容器
-it 以交换式
--rm 退出后删除
tomcat 镜像名
bash 进入
docker run -p 8080:8080 --restart=always tomcat 启动tomcat
-p(端口映射) 宿主机端口:容器端口
--restart=always
docker run -p 8081:8080 --name tomcat -d tomcat 以守护状态运行tomcat(在后台运行)
docker exec -it 容器id bash 进入执行的容器中
docker exec 执行的容器
-it 交互式的
容器id
bash 进入
docker images 查看所有镜像
docker ps -a 查看正在运行的容器
docker restart 容器id 重新启动容器
docker stop 容器id 暂停一个容器
docekr rm 容器id 删除容器
docker rmi 镜像id 删除镜像
docker build -t 镜像名 Dockerfile文件的位置
Docker 常用命令
设置 docker 开机自启
sudo systemctl enable docker.service
查看 Docker 版本
docker version
docker pull (拉取镜像)
# docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
# 如: docker pull 192.168.150.101:8080/nginx:1.0
docker pull 镜像名
docker push (推送镜像)
docker push
推送镜像到私有镜像服务必须先docker tag
# 标记本地镜像并指向目标仓库(ip:port/image_name:tag,该格式为标记版本号)
docker tag nginx:latest 192.168.150.101:8080/nginx:1.0
# 如: docker push 192.168.150.101:8080/nginx:1.0
docker push 192.168.150.101:8080/nginx:1.0
docker tag (镜像重命名)
docker tag
用于给镜像打标签,语法如下:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
1、比如我现在有一个 centos 镜像:
[root@localhost ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 1e1148e4cc2c 2 weeks ago 202MB
2、我对 centos 进行开发,开发了第一个版本,我就可以对这个版本打标签,打完标签后会生成新的镜像:
[root@localhost ~]$ docker tag centos centos:v1
[root@localhost ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 1e1148e4cc2c 2 weeks ago 202MB
centos v1 1e1148e4cc2c 2 weeks ago 202MB
3、我继续对 centos 进行开发,开发了第二个版本,继续打标签:
[root@localhost ~]$ docker tag centos centos:v2
[root@localhost ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 1e1148e4cc2c 2 weeks ago 202MB
centos v1 1e1148e4cc2c 2 weeks ago 202MB
centos v2 1e1148e4cc2c 2 weeks ago 202MB
4、以此类推,每开发一个版本打一个标签,如果以后我想回滚版本,就可以使用指定标签的镜像来创建容器:
[root@localhost ~]$ docker run -itd centos:v1
docker run (运行镜像)
docker run -d image-name
docker stop (停止运行容器)
docker stop container_id
docker restart(重启容器)
docker restart container_id
docker exec (进入容器)
docker exec -it container-id /bin/bash
docker images (查看本地镜像)
docker images
docker save (保存镜像到本地)
docker save -o tomcat.zysheep.tar 镜像名称
docker load (将本地目录下的镜像备份文件导⼊到本地仓库)
docker load -i tomcat.zysheep.tar
docker ps (查看最近的运行容器)
docker ps -l
查看所有正在运行的容器
docker ps -a
docker rmi (删除一个镜像)
docker rmi image-name
删除所有镜像
docker rmi $(docker images -q)
强制删除所有镜像
docker rmi -r $(docker images -q)
删除所有虚悬镜像
docker rmi $(docker images -q -f dangling=true)
删除所有容器
docker rm $(docker ps -a -q)
查看所有数据卷
docker volume ls
删除指定数据卷
docker volume rm [volume_name]
删除所有未关联的数据卷
docker volume rm $(docker volume ls -qf dangling=true)
从主机复制文件到容器
docker cp host_path containerID:container_path
从容器复制文件到主机
docker cp containerID:container_path host_path