docker容器
1.创建并启动容器
docker run -i -t centos:latest /bin/bash
-t 让docker分配一个伪终端 -i 交互式 在交互模式下用户可以通过所创建的终端来进行输入命令 -d 是后台运行 bash是执行一个bash命令
如果我们镜像下载的满我们可以添加一个加速器
vi /etc/docker/daemon.json 在这个文件里添加已下内容
{“registry-mirrors”: [“https://zgf4gb6j.mirror.aliyuncs.com”,“http://hub-mirror.c.163.com”,“https://reg-mirror.qiniu.com”]}
2.docker ps -a 查看容器的状态
进入容器如果我们用exit ctrl+d ctrl+c 退出的话用docker ps -a 查看是exit状态 如果用ctrl+p+q退出的话查看状态就是up状态
exit退出结果
ctrl+p+q退出结果
回滚一个helll world
docker run centos /bin/echo ‘hello world’
docker stop e18b8 停止一个容器 docker stop +容器id
stop跟kill不一样 stop 是把容器里面所有的进程都关闭在关闭容器
docker start 94876 启动一个exit状态的容器
docker kill 94876 kill直接杀死容器里的进程并停止容器
docker restart 94876 从启容器是将一个正在运行的容器停止在容器
docker inspect 94876 查看容器的信息 命令加容器id或者容器名
docker inspect -f ‘{{.State.Pid}}’ 94876 查看Pid 直接输出你所查看的信息
docker inspect -f ‘{{.Config.Cmd}}’ 94876 查看容器所执行的程序‘
docker inspect -f ‘{{.NetworkSettings.IPAddress}}’ 94876 查看ip
进入容器
一、docker attach 94876 进入容器 用这种方式进入容器 允许用ctrl -c来退出 如果用多个窗口同时到容器的话 所有窗口都会同步 如果有一个窗口卡住了 所有窗口就都会卡住
–sig-proxy=false 不使用容器转发信号
二、使用nsenter进入容器
需要安装util-linux 用nsenter 方式进入容器 exit退出不会退出容器 依然还是在运行的状态
rpm -qa | grep util-linux 检查本机安装没安装
https://github.com/dzckzeo/bashrc_docker 下载.bashrc_docker地址
并放到
ll -a 查看隐藏文件 下载到/usr/local/src下面 会有一个bashrc_docker这个目录下面会有一个.bashrc_docker的隐藏文件 存放脚本的
容器的导入和导出
一、导出容器
docker export 94876 > centos7.tar 导出来打一个tar包
就跟快照一样
二、导入容器
docker import centos7.tar centos:lat
docker images 查看一下导进来的镜像
docker run -it centos:lat bash 启动容器 跟我们导出去的一样 数据都还存在
三、删除容器
docker rm 94876
docker rm $(docker ps -a -q) 删除所有的容器