容器(0)-DOCKERFILE-安装-常用命令-部署-迁移备份-仓库

1.安装


启动

systemclt start docker //启动

systemctl status docker //状态

docker info

systemclt stop docker

systemctl status docker

systemctl enable docker //开机启动

2.常用命令

镜像查看 docker images

镜像查看 docker status

镜像拉取 docker pull centos:7

镜像删除 docker rmi "IMAGE ID"


1.创建一个可以运行命令行的容器

-i 表示运行容器

-t表示启动后进入命令行

centos7:7 /bin/bash 命令行的形式访问镜像。

运行容器

退出容器

查看容器 docker ps

2.创建一个守护进程的容器

docker run -di --name=mycentos2 centos:7 //运行守护进程

docker exec -it mycentos2 /bin/bash //进入到bash底下

-di 后台运行

--name=mycentos2 唯一性

centos:7 镜像

停止

1.把宿主机文件->容器中

查看容器:

启动容器:

查看本地文件:ll

拷贝本地文件到容器中: docker cp anaconda-ks.cfg 79****:/usr/local

以命令行到容器下查看文件:

docker exec -it 76****:/bin/bash

2.把容器中的文件->宿主机

本地终端:docker cp *** ****

本地查看:ll

拷贝文件

目录挂载

查看容器IP地址

目录挂载:

1.本机创建了一个目录 mkdir -p /usr/local/mydata

2.运行 docker :docker run -di -v /usr/local/mydata/:/usr/local/mydata //挂载目录

-- name=mycentos3 centos:/ //docker 和镜像名

3.编译本地test

4.到 docker里 docker exec -it mycentos3 /bin/bash

5.查看docker里的文件 cat test

宿主机里修改,不需要进入容器内修改。

宿主机下查看docker内容

查看IP地址

停止后再删除容器

本地终端运行命令:

查看 docker ps -a

停止 docker stop ***

删除 docker rm ****

3.应用部署

3.1mysql

1.拉取镜像:docker pull mysql:5.7

2.创建容器: docker run -di --name=mysql -p 3306:3306 端口:宿主机和容器

-e MYSQL_PORT_PASSWORD=root mysql:5.7 用户名密码 环境变量

3.进到容器: docker exec -it mysql /bin/bash

4.打开客户端: mysql -uroot -proot --default-character-set=utf-8

编码格式

4.进入容器的Mysql 的操作

5.Navicat宿主机的端口

3.2redis

1.拉取镜像: docker pull redis

2.运行docker: docker run -di --name=redis -p 6379:6379 redis

3.redis 客户端连接

宿主机的IP地址:

4.迁移与备份

容器保存为镜像:

1.查看镜像和容器

docker images

docker ps -a

2.创建新镜像 docker commit redis myredis

3.查看新镜像 docker images

4.根据新镜像创建容器

​​​​​​​

镜像的备份

1.把myredis 打包成tar包

2.停止容器 docker stop myredis

3.删除容器 docker rm myredis

4.删除镜像 docker rmi myredis

5.查看镜像 docker images

6.查看容器 docker ps -a


已经没有myredis了。

1.查看本地内容

  1. 拿到myredis的镜像 -i input

  2. 创建新容器

5.Dockerfile

5.1 dockerfile的使用

5.2 在 centos里安装jdk1.8

1.创建目录+jdk tar包移进去

mkdir -p /usr/local/dockerjdk8

mv jdk-**.tar.gz /usr/local/dockerjdk8/

2.写dockerfile

cd /usr/local/dockerjdk8/

vim Dockerfile

2.1指定基础镜像

2.2指定创建者信息

2.3切换工作目录

2.4创建目录

2.5拷贝jdk8的tar包 到 /usr/local/java

2.6环境变量配置

3.构建镜像

此时目录下就2个文件,一个tar包,一个dockefile(脚本)

docker build -t=''jdk1.8" .

当前目录

运行每步都会显示出来

4.验证:

容器查看 :docker images

6.Docker私有仓库

1.拉取私有镜像

2.启动容器 镜像已经创建为一个容器了

3.访问看下

下拉镜像 :docker pull registry

运行容器:docker run -di

修改配置文件:

重启docker 不止是容器:

查看运行的容器: 啥也没有 docker ps

查看所有的容器:docker ps -a

启动指定名的容器:docker start registry

查看运行的容器: docker ps

7.上传文件到私有仓库

1.镜像打标签

2.查看

3.上传到私有仓库

4.刷新查看

相关推荐
坐吃山猪10 小时前
Docker07-MySQL
mysql·docker·容器
Kismet_nvi11 小时前
《Kubernetes Service 进阶、kube-proxy 与 Ingress 实战精要》
云原生·容器·kubernetes
Crazy________13 小时前
Redis03:持久化存储,大key分析,主从复制及哨兵模式
数据库·redis·容器
2401_8346369913 小时前
从零吃透 K8s 网络:ServiceIngressMetalLB 实操手册
网络·容器·kubernetes
Zhu75816 小时前
在docker环境部署frp
运维·docker·容器
x-cmd20 小时前
用 Rust 打造 AI 时代的 SQL:把重复任务变成可执行文件
数据库·人工智能·sql·ai·容器·rust·workflow
爱莉希雅&&&2 天前
K8s NFS+StorageClass+PV/PVC+Deployment 实战笔记
笔记·容器·kubernetes
GlueNa2SiO32 天前
08-Docker安全最佳实践
安全·docker·容器
一位正在转型AI全栈的前端工程师2 天前
前端转全栈:从 502 到 200,我的第一个 Docker+Nginx+Node.js 项目
docker·容器
维核科技2 天前
大模型私有化部署:Docker与Kubernetes实战避坑
docker·容器·kubernetes