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

相关推荐
F1FJJ16 分钟前
Shield CLI 命令全解析:15 个命令覆盖所有远程访问场景
网络·数据库·网络协议·容器·开源软件
皮卡蛋炒饭.16 分钟前
Ext系列文件系统
运维
齐齐大魔王20 分钟前
linux-核心工具
linux·运维·服务器
醇氧21 分钟前
Linux 系统的启动过程
linux·运维·服务器
IMPYLH21 分钟前
Linux 的 dircolors 命令
linux·运维·服务器·数据库
齐齐大魔王25 分钟前
linux-基础操作
linux·运维·服务器
进击切图仔29 分钟前
Docker + tmux + ROS:持久化的机器人开发环境
docker·容器·机器人
一个有温度的技术博主30 分钟前
网安实验系列二:服务器信息收集
运维·服务器
bwz999@88.com1 小时前
ubuntu24.04更换国内源
linux·运维·服务器
腾科IT教育1 小时前
红帽认证考试全国考点信息新发布,便捷参考
运维·服务器·红帽认证·linux考试·rhcsa考试