Docker的一些命令

制作镜像(docker build)

# 确保当前目录下有Dockerfile,注意最后的点 .

>>>docker build -m "message" -a "author" -t="imagename:tag" .

获取docker容器的ip(docker inspect)

# 开启新的终端,查看正在运行的容器

>>>docker ps -l

# 查看输出结果,找到对应容器的CONTAINER ID

# 查看容器的ip

>>>docker inspect --format '{{ .NetworkSettings.IPAddress }}' CONTAINER ID

保存对镜像的修改(docker commit)

在对镜像进行修改之后,默认是不保存的,如果需要保存,需要使用docker commit命令

>>>docker commit -m "message" -a "author" CONTAINER ID imagename:tag

删除容器(docker rm)

注意区分容器与镜像之间的区别

# 删除容器

>>>docker rm CONTAINER ID

# 清理所有处于终止状态的容器

>>>docker rm $(docker ps -a -q)

删除镜像(docker rmi)

要确保此镜像没有开启容器

要确保此镜像不是作为本地其他镜像的依赖

>>>docker rmi IMAGE ID

修改镜像信息(docker tag)

# 修改镜像名,修改之后默认标签为latest

>>>docker tag IMAGE ID NEW-REPOSITORY

# 修改镜像标签

>>>docker tag IMAGE ID NEW-REPOSITORY:TAG

推送镜像到DockerHub(docker push

前提:用dockerhub账号

DockerHub地址

以用户名为xxx栗子

# 登陆Dockerhub,输入账号密码

>>>docker login

# 确保要上传的镜像名称形如xxx/IMAGE NAME

# 可使用docker tag命令进行更改

>>>docker push xxx/IMAGE NAME

# 稍作等待,之后便可以到DockerHub上查看是否推送成功

网络配置问题

在安装完docker并启动之后,主机上会创建一个虚拟的网桥服务,形如172.17.x.x

在运行docker的时候,与主机或者容器间的网络配置,可利用–net参数进行更改

有以下几种模式,默认为bridge模式

–net=bridge|none|container:NAME_or_ID|host

举个栗子:

>>>docker run -it --net=host IMAGE NAME:TAG /bin/bash

# --net=host表示启动host模式,与主机共享ip

端口映射问题。使用-p或者-P解决,格式如下

# 指定ip:主机端口:容器端口

- ip:hostport:containerport

# 指定ip::容器端口

- ip::containerport

# 主机端口:容器端口

- hostport:containerport

# 映射所有端口

- -P

这个命令具体用途体现在,当容器端口只开放如8080端口时,但是宿主机8080端口又被占用,此时可使用此方式改变映射端口。

举个栗子:

# command表示需要执行的命令

>>>docker run -p 5000:8080 -d IMAGE NAME:TAG command

# 此命令就可以成功的将容器8080端口映射到宿主机的5000端口之上,访问宿主机的5000端口即可

Docker的一些命令

相关推荐