目录
二、linux 系统中的命令 记10条(cd ls pwd mv cp )
一、部署20版的docker
1.1 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
1.2 设置阿里云镜像源
cd /etc/yum.repos.d/
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.3 安装docker-ce 社区版
yum install -y docker-ce
#环境配置
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
如果出现以下情况
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum -y install docker-ce
1.4 关闭增强机制
vim /etc/selinux/config
SELINUX=disabled
1.5 开启服务
systemctl start docker
systemctl enable docker
1.6 设置镜像加速
这里我们使用阿里云的镜像,加速镜像下载速度
注册阿里云账号并登录
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [镜像加速地址]
}
EOF
systemctl daemon-reload
systemctl restart docker
1.7 网络优化
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
systemctl restart network
systemctl restart docker
二、linux 系统中的命令 记10条(cd ls pwd mv cp )
2.1 查询docker 版本
docker version && docker info
2.2 搜索镜像
docker search nginx
2.3 技能点
PS Linux 发行版:alpine centos redhat Debian(apt包管理,centos 是rpm) 生产环境可能会用的
2.4 下载镜像(默认是从docker hub)
docker pull 镜像名称
2.5 查看镜像列表
docker images——查看当前docker下的下载镜像信息
REPOSITORY:镜像属于的仓库;
TAG:镜像的标签信息,标记同一个仓库中的不同镜像;
IMAGE ID:镜像的唯一ID 号,唯一标识一个镜像,经过md5方式加密过;
CREATED:镜像创建时间;
VIRTUAL SIZE:镜像大小;
2.6 获取镜像信息
docker inspect 镜像ID
2.7 添加镜像标签
docker tag nginx:latest nginx:lnmp
2.8 删除
docker rmi 镜像名称
docker rmi 镜像标签
docker rmi `docker images -q` 批量删除镜像
docker rmi `docker images|grep "nginx" 批量删除nginx镜像
2.9 镜像导出
docker save -o 文件名 镜像名
2.10 镜像导入
docker load < nginx
使用场景,有的生产环境,企业不直接使用docker 私有仓库,而是存放在一个ftp服务器中,按需上传下载
应用场景
ftp winscp ssh 登陆VPN
三、容器操作
3.1查询容器
docker ps -a
3.2 创建容器
docker create -it nginx:latest /bin/bash
-i 让容器的标准输入保持打开
-t 分配一个伪终端
-d 后台守护进程的方式运行
3.3 启动容器
docker start 容器id
#启动容器(一次性执行)
docker run centos:7 /usr/bin/bash -c ls /
-c:后面加 调用命令
3.4 容器状态有哪些,分别是什么场景?
up exsit(0 137) created
0:是正常退出
137:是异常退出
3.5 停止容器
docker stop 容器ID
3.6 进入容器
进入容器
① 使用run 【一次性进入】(临时使用的)
docker run -it nginx:latest /bin/bash
② exec(容器必须为开启状态)
docker exec -it 容器ID /bin/bash
exec 和shell 是两种运行模式
PS:
docker run -it 会创建前台进程,但是会在输入exit后终止进程。
docker attach 会通过连接stdin,连接到容器内输入输出流,会在输入exit后终止容器进程.
docker exec -it 会连接到容器,可以像SSH一样进入容器内部,进行操作,可以通过exit退出容器,不影响容器运行。【这个方式不是特别常用,因为ssh不安全】
3.7 容器导出
docker export 容器ID > 文件名
示例:
docker export 容器ID > nginx_a
3.7 容器导出
docker export 容器ID > 文件名
示例:
docker export 容器ID > nginx_a
3.8 容器导入(生成镜像)
docker import 导出的文件名(容器) 指定镜像名称
示例:
docker import nginx_a nginx:latest
cat 文件名(容器) | docker import - nginx:latest
3.9 批量删除容器&&批量删除镜像
3.9.1 删除容器
docker rm 容器ID
3.9.2 强制删除容器(正在运行的)
docker rm -f 容器ID
3.9.3 批量删除容器(正则匹配)
docker ps -a | awk ‘{print "docker rm "$1}’ | bash
3.9.4 删除非up状态的 rm -f : 强制删除所有
docker rm docker ps -q
3.9.5 批量删除“exit”状态(指定状态)的容器
for i in `docker ps -a | grep -i exit | awk '{print $1}'`; do docker rm -f $i;done
created
3.10容器打包为镜像
docker run -it --name Nginx.01 nginx:latest /bin/bash
docker commit 34be469451e9 nginx-v1beta