docker-基本操作命令,生成docker镜像包

一、帮助启动类命令。

1、启动,命令:systemctl start docker

2、停止,命令:systemctl stop docker

3、重启,命令:systemctl restart docker

4、查看docker状态,命令:systemctl status docker

5、开机启动,命令:systemctl enable docker

6、查看docker概要信息,命令:docker info

7、查看docker整体帮助文档,命令:docker --help

8、查看docker命令帮助文档,命令:docker 具体命令 --help

二、镜像命令。

1、列出本地主机上的镜像,展示的是一个列表,表头含义如下:

repository:表示镜像的仓库源

tag:镜像的标签

images ID:镜像ID

created:镜像创建时间

size:镜像大小

命令:docker images

-a:列出本地所有镜像(包括历史镜像)

-q:只显示镜像ID

2、某个×××镜像名字,展示的是一个列表,表头含义如下:

name:镜像名称

description:镜像说明

stars:点赞数量

official:是否是官方的

automated:是否是自动构建的

命令:docker search

3、下载镜像,命令:docker pull 某个×××镜像名字,有两种命令:

a.docker pull 镜像名字[:TAG]

b.docker pull 镜像名字   没有tag就是最新版

4、查看镜像/容器/数据卷所占的空间,命令:docker system df

5、删除某个×××镜像名字ID(这里就不展示删除了),命令:docker rmi

删除单个,命令:docker rmi  -f  镜像ID

删除多个,命令:docker rmi  -f  镜像名1:TAG镜像名2:TAG

删除全部,命令:docker rmi  -f  $(docker images -qa)

三、容器命令。

1、新建+启动容器,命令:docker [options] image [command] [ARG......]

启动交互式容器(前端服务器)

--name=“容器新名字”

-d:后台运行容器

启动交互式,命令:docker run -it

-i:以交互模式运行容器  interactive

-t:为容器重新分配一个为输入终端  tyy

前台有伪终端,等待交互,命令:docker run -it Ubuntu bash/bin

P:随机终端口映射,大写P

p:指定终端口映射,小写p,常用此写法。

2、列出当前所运行的容器,命令:docker -ps [options]

常用命令:

docker -ps -a:列出当前所有正在运行的容器+历史上运行过的

docker -ps  -l:显示最近创建的容器

docker -ps  -q:静默模式,只显示容器ID

3、退出容器,有两种退出命令(这里不做展示)。

a.exit:run进去容器,exit推出,容器停止。

b.ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止。

4、启动已经停止的容器,命令:docker start 容器ID或容器名

5、重启容器,命令:docker restart 容器ID或容器名

6、停止容器,命令:docker stop 容器ID或容器名

7、强制停止容器,命令:docker kill 容器ID或容器名

8、删除已停止的容器,命令如下:

docker rm +容器ID,先停下来再删除

docker rm -f   容器ID/容器名    强制删除

一次性删除多个容器实例:docker rm -f   $(docker ps -a -q)

                                           docker ps -a -q | xargs docker rm

 9、启动守护式容器(后台服务器),命令:docker run -d 容器名

docker run -it redis:6.0.8 前台交互式启动

启动镜像,命令:docker run -it 容器id /bin/bash

docker run -d redis:6.0.8 后台守护式启动

10、查看容器日志,命令:docker logs 容器ID

11、查看容器内运行的进程,命令:docker top 容器ID

12、查看容器内部进程,命令:docker inspect 容器ID

13、进入正在运行的容器并进行命令交互,命令:docker exec -it 容器ID bashshell

重新进入,命令:docker attach 容器ID

attach:直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器停止。

exec:是在容器中打开新的终端,不会启动新的进程,用exit退出,不会导致容器终止,一般推荐使用这一种。

14、从文件拷贝内容到主机上,命令:docker cp 容器ID:容器内路径,目的主机路径

15、导出和导入容器。

export:导出容器的内容留作为一个tar归档文件(对应import命令)。

import:从tar包中的内容创建一个新的文件系统再导入为镜像(对应export命令)。

案例:

docker export 容器ID > 文件名.tar

cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号

四、外网联通的情况下安装vim命令,docker容器内执行以下两条命令。

1、apt-get update

2、apt-get -y install vim

四、生成docker镜像包

第一步,基于pull的基本镜像环境,创建dockerfile

## 基础镜像java
 FROM openjdk:8u265
 ## 作者是
 MAINTAINER cookie
 ## 就是你上传的jar包的名称。给jar包起个别名
 ADD user-1.0.0.jar /app/user.jar
 ## 就是在容器中以多少端口号运行
 EXPOSE 7001
 ## 容器启动之后执行的命令,java -jar spring_boot.jar 即启动jar
 ENTRYPOINT ["java","-Dspring.profiles.active=test","-jar","-Xmx512m","-Xms512m","-Xmn200m","/app/user.jar"]

第二步,启动镜像,进行测试

docker run -d --restart=always --name xxxx -p 7001:7001   -v  服务器目录:容器目录  user:V1.0

例:

docker run -d --restart=always --name user -p 7001:7001 -v  /test/user/log:/app/log user:V1.0 

进入docker容器命令

docker exec -it  xxxx /bin/bash

例:

docker exec -it  user /bin/bash

第三步,打包镜像,保存到服务器

注意build后面的空格和点

save docker的ID到默认路径下

docker build -t xxxx:[tag] .

docker save  xxxxx  > xxxx.tar

你可能感兴趣的:(docker,容器,运维)