Docker安装优化与Docker基础命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker安装优化与Docker基础命令相关的知识,希望对你有一定的参考价值。

Docker安装优化与Docker基础命令


#个人阿里云镜像加速;登陆阿里云搜索镜像加速,复制链接
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF‘
{
  "registry-mirrors": ["https://ye71id77.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
yum install lrzsz -y
yum install -y net-tools

#一: 安装docker与镜像加速

#!/bin/bash
#1.安装最新版Docker依赖环境
yum -y install yum-utils device-mapper-persistent-data lvm2
#关闭防火墙与核心防护
systemctl stop firewalld && systemctl disable firewalld
setenforce 0 && sed -i ‘s/^SELINUX=.*/SELINUX=disabled/‘ /etc/selinux/config
#2.网络优化
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
systemctl restart network
#3.设置阿里云镜像
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#4.阿里云镜像加速
mkdir /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF‘
{
  "registry-mirrors": ["https://ye71id88.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
#5.安装Docker-Ce社区版
yum -y install docker-ce 
systemctl enable docker.service
systemctl start docker.service
if [ $? -eq 0 ];then 
echo "docker已安装完成并优化完毕"
fi
systemctl status docker.service

#二: Docker镜像常用命令
docker version                          "查看docker版本"
docker search                           "搜索镜像"
docker images                           "查看镜像列表"
docker history                          "查看镜像制作历史"
docker inspect                          "查看镜像底层信息"
docker pull                             "下载镜像"
docker push                             "上传镜像"
docker rmi                              "删除本地镜像"
docker save -o  存出文件名 存出的镜像     "镜像另存为tar包"
docker load < nginx                     "使用tar包导入镜像"
docker tag                              "修改镜像名称和标签"

[root@docker1 opt]# docker save -o nginx nginx:latest

#三: Docker容器常用命令
docker run                          "运行容器"
docker ps -a                        "查看容器列表"
docker create -it   镜像运行的程序     "创建容器"
docker stop                         "关闭容器"
docker start                        "启动容器"
docker restart                      "重启容器"
docker exec                         "进入容器一般建议用exec子进程模式exit后,容器不会停止"
docker attach                       "进入容器,exit后容器会停止"
docker inpect                       "查看容器底层信息"
docker top                          "查看容器进程列表"
docker rm id                        "删除容器"  "容器要先关闭,才能删除;"
docker ps                           "只列出当前运行的容器"

docker export id > nginx-am                         //容器导出
cat nginx-am | docker import - nginx:web            //容器导入  

docker ps -a | awk ‘{print "docker rm "$1}‘|bash    //批量删除容器,不删除在运行的容器
docker container prune                              //批量删除容器,不删除在运行的容器
docker rm -f $(docker ps -a | awk ‘{print $1}‘)     //批量删除容器,全删,强制删除
docker rm  $(docker ps -a | awk ‘{print $1}‘)       //批量删除容器,不删除在运行的容器

docker rm -f $(docker ps -qa)                       // -qa 查询容器id
docker rm  $(docker ps -qa)
docker exec -it id /bin/bash        "exec进入;进入容器"

#创建容器并命名方便进入容器
docker run -itd --name nginx1 nginx:latest  /bin/bash
docker exec -it nginx1  /bin/bash

#下载的镜像存放路径
[root@docker01 overlay2]# ls
distribution  imagedb  layerdb  repositories.json
[root@docker01 overlay2]# pwd
/var/lib/docker/image/overlay2
[root@docker01 overlay2]# cat repositories.json 
{"Repositories":{"192.168.100.200:5000/nginx":}}

#启动执行命令查看系统根目录
##方法一
docker pull paigeeworld/centos7
docker create -it paigeword/centos7 /bin/bash           "创建容器"
docker start id
##方法二
docker run paigeworld/centos7 /user/bin/bash -c ls /    "-c command 命令"
"run完就直接释放了,状态为Exited"
##持续在后台执行
docker run paigeworld/centos7 /user/bin/bash -c "while true;do echo hello;done"

#四: 进入容器的方式

#创建交互式容器
docker container run -it id                 "i表示交互式  t表示开启新的终端"
#创建守护式容器
docker run -d --name="nginx" nginx:1.14     "-d  表示守护式   如果没有这个镜像会自动Pull 拉取命令"

[root@docker1 ~]# docker start thirsty_allen        "启动镜像"

#交互式的容器用于: 工具类: 开发,测试,临时性的任务()
#守护式容器用于: 服务器上 网络服务
#把容器的80端口映射到外部的8080端口提供外部访问
docker container run -d -p 8080:80 --name="nginx" nginx:1.14
docker container run -d -p 10.0.0.100:8081:80 --name=‘n3‘ nginx:1.14 "映射到外部801"
#演示
[root@docker1 ~]# docker container run -d -p 8080:80  nginx:latest
0c2c73225b4a573dd8c521a10f36e9bd91b75dd4fed01c5dc8e2ab372bc968e8
[root@docker1 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
0c2c73225b4a        nginx:latest        "/docker-entrypoint.…"   6 seconds ago       Up 5 seconds        0.0.0.0:8080->80/tcp   naughty_euclid
#web访问测试192.168.100.170:8080

#[root@docker1 ~]# docker exec -it 0c2c73225b4a /bin/bash
root@0c2c73225b4a:/# cd /etc    
root@0c2c73225b4a:/etc# ls
阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF‘
{
  "registry-mirrors": ["https://ye71id77.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

以上是关于Docker安装优化与Docker基础命令的主要内容,如果未能解决你的问题,请参考以下文章

Docker的部署与相关命令

2Docker 基础安装和基础使用

Docker-基础使用:安装,启用,基本命令,数据卷

docker-基础知识与安装命令

Docker基础命令详解——镜像及容器操作

Docker基础之镜像详解与dockerfile及优化~