docker 常用命令

 


一、docker基础命令

  • 启动docker:systemctl start docker
  • 关闭docker:systemctl stop docker
  • 重启docker:systemctl restart docker
  • docker设置随服务启动而自启动:systemctl enable docker
  • 查看docker 运行状态:systemctl status docker
  • 查看docker 版本号信息:docker version/docker info
  • docker 帮助命令:docker --help
  • 查看docker具体命令的使用帮助:docker ps --help

二、docker镜像命令

2.1 搜索官方仓库镜像:

docker search centos  

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

2.2 拉取镜像

根据镜像名称拉取镜像

docker pull centos

 2.3 查看当前主机镜像列表

1
2
doker images
docker image list

 

 2.4 导出镜像

docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
1
docker image save centos > docker-centos.tar.gz

 

 

  2.5 删除镜像

  2.5.1通过镜像名称强制删除:

1
docker image rm centos:latest

2.5.2 通过镜像ID强制删除:

1
docker image rm 5d0da3dc9764

2.5.3 删除一个

1
docker rmi -f 镜像名/镜像ID

2.5.4 删除多个

其镜像ID或镜像用用空格隔开即可

1
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID

2.5.5 删除全部镜像 

1
docker rmi -f $(docker images -aq)

注:-a 意思为显示全部, -q 意思为只显示ID

2.6 导入镜像

1
docker image load -i docker-centos.tar.gz

 

 2.7 查看镜像的详细信息

docker image inspect +镜像名称

1
docker image inspect centos

 

 2.8 设置镜像标签

docker tag 镜像ID 镜像名称:标签名

1
docker tag 5d0da3dc9764 centos:dev

 2.9 创建镜像

我们使用命令 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。

使用命令:touch Dockerfile 创建文件,文件内容如下:

  然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像:

1
docker build -t runood/centos:6.7 .

 参数说明:

  • -t :指定要创建的目标镜像名

  • . :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

使用docker images 查看创建的镜像已经在列表中存在,镜像ID:e209e0634366

  2.10 显示一个镜像的历史

docker history +镜像名称

1
docker history centos

 三、docker 容器命令

3.1 启动容器

1
docker run -it python

参数说明:

  • -i: 交互式操作。
  • -t: 终端。

要退出终端,直接输入 exit:

 3.2 查看所有容器

 docker ps -a 查看所有容器(包括启动或停止的容器),docker ps  --->查看运行中的容器

1
docker ps -a

 3.3 停止容器

1
docker stop 容器ID

 

 3.4 启动/重启容器

停止的容器可以通过 docker restart 重启或者使用docker start 启动

1
docker restart <容器 ID>

 3.5 后台运行容器

在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。

1
docker run -itd 容器名称/ID

 3.6 进入容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

  • docker attach

  • docker exec:推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。

attach 命令

下面演示了使用 docker attach 命令。

1
docker attach 容器ID

 注意: 如果从这个容器退出,会导致容器的停止。

exec 命令

下面演示了使用 docker exec 命令。

1
docker exec -it 9cc9349c8275 /bin/bash

 3.7 导出容器

如果要导出本地某个容器,可以使用 docker export 命令。

语法:docker export [OPTIONS] CONTAINER

OPTIONS说明:

  • -o :将输入内容写到文件。

1
docker export -o 容器名称 容器ID

3.8 导入容器

可以使用 docker import 从容器快照文件中再导入为镜像

语法:docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

OPTIONS说明:

  • -c :应用docker 指令创建镜像;

  • -m :提交时的说明文字;

实例:从镜像归档文件python.tar.gz 创建镜像,命名为python

1
docker import python.tar.gz python

 3.9 删除容器

3.9.1 删除所有容器

1
docker rm -f  `docker ps -a -q`

# -f 强制删除

3.9.2 删除容器

1
docker rm -f 容器ID

 3.10 启动容器时进行端口映射

-p参数端口映射

实例:

1
docker run -d -p 8080:8888 5eb506608219

不同指定映射方法

参数

说明

-p hostPort:containerPort    

端口映射  -p 8080:80

-p ip:hostPort:containerPort 

配置监听地址 -p 10.0.0.100:8080:80

-p ip::containerPort         

随机分配端口 -p 10.0.0.100::80

-p hostPort:containerPort:udp

指定协议 -p 8080:80:tcp

-p 81:80 –p 443:443          

指定多个

随机映射

docker run -P (大P# 需要镜像支持

 3.11  查看容器运行过程中的日志

1
docker  logs 容器ID

 3.12 查看容器内部运行的进程

1
docker top 容器ID

 3.13 容器文件拷贝

场景1:从容器内拷贝出

docker cp 容器内ID:文件路径 容器外路径

eg:将容器内home路径下的test.txt文件复制到 当前文件路径下 

场景2:从外部拷贝到容器内

docker cp 容器外文件路径 容器内ID:容器内路径

eg:将容器外的hello.jar包复制到容器内home路径下

 3.14 更换容器名称

docker rename 容器ID/旧容器名称 新容器名称

四、Dockerfile自动构建docker镜像

 4.1 Dockerfile指令集

dockerfile主要组成部分:

1
2
3
基础镜像信息 FROM centos:6.8
制作镜像操作指令RUN yum insatll openssh-server -y
容器启动时执行指令 CMD ["/bin/bash"]

dockerfile常用指令:

1
2
3
4
5
6
7
8
9
10
11
12
FROM          #基础镜像一切从这里开始
MAINTAINER    #镜像是谁写的,姓名加邮箱
RUN        #镜像构建时需要的命令
ADD        #步骤tomcat镜像,这个tomcat压缩包!添加内容
WORKDIR        #镜像工作目录
VOLUME        #挂载的位置
EXPOSE        #暴露端口
CMD        #指定这个容器启动时要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT    #指定这个容器启动时要运行的命令,可以追加
ONBUILD        #当构建一个被继承DockerFile,这个时候就会运行ONBUILD的指令,触发指令
COPY        #类似ADD,将命令拷贝到镜像当中
ENV        #构建的时候设置环境变量

 4.1 构建步骤

1.先创建Dockerfile文件,使用vi Dockerfile ,写入如下内容:

1
2
3
4
5
6
7
FROM     centos
MAINTAINER  redrose2100<hitredrose@163.com>
ENV JAVA_HOME /usr/local/jdk1.8/
WORKDIR /usr/local
COPY    /helloworld/hello.jar /home/
EXPOSE  80
CMD     /bin/bash

2.使用docker build 命令构建镜像,如下所示:

1
docker build -t runood/centos:6.7 .

 注: -t 设置镜像标签 ;. 表示使用当前路径下的Dockerfile文件

 

posted @   别摸我的马甲线  阅读(543)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示