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
第一步,基于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