docker镜像操作_docker导出容器为镜像

docker镜像操作_docker导出容器为镜像零.docker常用命令#镜像名版本标签镜像id创建时间镜像大小REPOSITORYTAGIMAGEIDCREATEDSIZEhello-worldlatestfce289

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

零.docker常用命令

#镜像名			版本标签			镜像id			 创建时间			镜像大小
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        6 months ago        1.84kB
docker version/info #查看版本/信息
docker --help #查看说明文档
docker logs -f -t --tail 日志条数 容器ID #查看容器日志
docker inspect #获取容器/镜像的元数据

一.镜像基本操作

1. 拉取

docker search [xxx] #查找名为xxx的镜像
docker pull [xxx]:版本号 # 拉取xxx镜像,不加版本号则默认拉取最新版本

2. 查看

docker images -a/-qa #列出本地全部镜像/全部镜像的ID

docker镜像操作_docker导出容器为镜像

3. 删除

docker rmi -f [xxx] #删除名为xxx的镜像,加-f为强制删除(不论现在正在运行)
docker rmi $(docker images -q) #删除所有镜像

注意:要拉取的镜像名确认不要写错,否则会报错(repository does not exist or may require ‘docker login’)

4. 导出镜像

#保存镜像到指定目录
#这里的原image名和版本号需要与要保存的镜像一致
docker save  镜像ID -o d:\dockerimages\新image名.tar 原image名:版本号

5. 导入镜像

#从指定目录加载镜像
docker load -i \dockerimages\新image名.tar

二.容器基本操作

#-i为以交互模式启动容器
#-t为容器重新分配一个伪输入终端(两者合写为-it)
#--name为容器命名,不加则默认自动分配
docker run -it --name mycentos centos

#创建守护式容器
#直接在后台创建一个容器,但是如果容器里没有活动则会在创建后立刻自动停止
docker run -d centos

#8080为docker服务对外暴露的端口,8080指docker内的tomcat端口
docker run -it -p 8080:8080 tomcat

1. 查看

docker ps #查看当前运行的容器
docker ps -l #列出最近创建的容器
docker ps -a #列出当前和曾经运行的容器
docker ps -n x #显示最近运行过的n个容器
#在以上基础上变为 -xq 可以只显示容器编号

#如果找不到命令,则可能为该镜像没有包含procps工具
apt-get update && apt-get install procps

docker镜像操作_docker导出容器为镜像

2. 进入

#在已运行的容器中,执行命令,操作对象是容器,如果你要进入已运行的容器,并且执行命令,用exec;
docker exec -it 容器名/容器ID /bin/bash
#同样操作的是已运行的容器,可以将本机标准输入(键盘输入)输到容器中,也可以将容器的输出显示在本机的屏幕上,如果你想查看容器运行过程中产生的标准输入输出,用attach;
docker attach 容器名/容器ID

3. 停止

docker stop 容器名/容器ID #停止单个
docker stop $(docker ps -a -q) #停止全部
docker kill 容器名/容器ID #强制停止

4. 退出

需要注意的是,容器停止后里面的数据就直接销毁了,所有如果没有提交镜像还没有备份,最好不要直接使用exit退出容器

exit #容器停止并退出
ctrl+P+Q #容器不停止退出(非常重要!!!!!!!)

5. 删除

docker rm 容器名/容器ID #删除单个
docker rm $(docker ps -a -q) #删除全部

注意:rm为删除容器,rmi为删除镜像

6. 提交容器

如果想要重复使用当前容器,可以将容器提交成镜像,那样下次使用时就可以直接拉取镜像并启动容器即可

docker commit -m="描述信息" -a="作者" 容器ID 要创建的新镜像名:版本号

7. 从容器中拷贝文件到主机中

顾名思义,将容器中的文件拷贝到主机,如日志或者sql文件

docker cp 容器名/容器ID:文件位置 /root

二点五. docker安装mysql

#获取镜像
docker pull mysql

#启动容器
docker run -it -p 3306:3306 --name mymysql
-v /mydocker/dockersoft/mysqlfile/conf:/etc/mysql/conf.d
-v /mydocker/dockersoft/mysqlfile/logs:/logs
-v /mydocker/dockersoft/mysqlfile/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
-d mysql

#进入容器
docker exec -it mymysql /bin/bash

#查看版本
mysql -v

#以root身份登录
mysql -uroot -p

#选择mysql
use mysql;

#如果navicat远程连接报1521错误
GRANT ALL ON *.* TO 'root'@'%'; #远程连接授权
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #更改密码
FLUSH PRIVILEGES; #刷新权限

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170828.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号