duuliy

docker命令

2020-1-26

有dockerfile 可以省略image 和 container

1.生成镜像 (从本地文件,有dockerFile的情况)

-t 指定 镜像 名字
$ docker image build -t docker-demo: v1.0.1 .
冒号指定标签。如果不指定,默认的标签就是latest

-t 指定image的名字

2.生成容器并跑起来

-p 本地端口 : 镜像端口 -it 映射当前 shell
$ docker container run -p 8080:3000 -it docker-demo /bin/bash

-p参数:容器的 3000 端口映射到本机的 8000 端口。
-it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。 (Shell是Linux 的桥梁)
koa-demo:0.0.1:image 文件的名字(如果有标签,还需要提供标签,默认是 latest 标签)。
/bin/bash:容器启动以后,内部第一个执行的命令。这里是启动 Bash,保证用户可以使用 Shell。

docker container run –rm -p 8000:3000 -it koa-demo /bin/bash 终止时自动删除

有docker运行命令直接:
docker container run -p 8080:3000 -it docker-demo

3.查看容器

$ docker container ls (正在运行)
$ docker container ls –all (所有)

4.构建

$ docker build -t /cheers2019 .

5.跑起来,结束时删除

$ docker run -it –rm /cheers2019

6.推到 Docker Hub 上

$ docker login
$ docker push /cheers2019

7.列出本机的所有 image 文件

$ docker image ls

8.删除 image 文件

$ docker image rmi [imageName]
$ docker image rmi -f [imageName] 强删

9.从仓库抓取 image 文件

$ docker image pull hello-world

10.运行这个 image 文件

$ docker container run hello-world

11.终止那些不会自动终止的容器

$ docker container kill [containID]

12.删除容器

$ docker container rm [containerID]

13.进入 koa-demo 容器

$ docker container run -p 8000:3000 -it koa-demo /bin/bash

14.退出容器

$ exit

15.登陆

$ docker login

16.打标签

$ docker image tag [imageName] [username]/[repository]:[tag]
实例
$ docker image tag koa-demos:0.0.1 ruanyf/koa-demos:0.0.1

17.发布 image

$ docker image push [username]/[repository]:[tag]

18.启动,停止容器

启动run每运行一次,就会新建一个容器,希望复用用start
$ docker container start [containerID]
$ docker container stop

19.看日志

$ docker container logs [containerID]

20.进入正在运行的 docker 容器

$ docker container exec -it [containerID] /bin/bash

21.拷贝正在运行容器 docker 里的代码到本地

$ docker container cp [containID]:[/path/to/file] .

22.使用docker ps命令查看

出现6379/tcp的表示宿主机并没有打开与虚拟机的端口映射。
出现0.0.0.0:3306->3306/tcp表示宿主机的3306端口映射到了虚拟机的3306端口。