centos7安装docker
docker安装
#安装docker
yum -y install yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum -y install docker-ce docker-ce-cli containerd.io
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://自己的阿里云.mirror.aliyuncs.com"],
"log-opts": {
"max-size": "10m",
"max-file":"3"
},
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
#刷新配置
systemctl daemon-reload
#开机自启动
systemctl enable docker
systemctl restart docker
docker-compose安装
#yum安装 版本不是最新
yum install -y epel-release
yum install docker-compose
#或者 下载最新手动安装
curl -L https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-`uname -s `-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#看是否安装成功
docker-compose -v
非root用户使用dacker
#将自己加入用户组
sudo gpasswd -a $USER docker
reboot
#优先推荐上面的方式
#创建docker用户组
sudo groupadd docker
#sudo usermod -aG docker $USER
#刷新用户组
newgrp docker
#测试
docker run hello-world
docker基础命令
docker update --restart=always <Container ID>
docker search --limit 5 redis #搜索镜像 只展示前五条
docker pull redis:6.0 #拉取redis 6.0版本镜像
docker images #查看本地所有镜像
docker ps #查看所有正在运行的容器,加-q返回id
docker ps -a #查看所有容器,加-q返回id
docker rmi ${IMAGE NAME/ID} #删除镜像
docker rm ${CONTAINER NAME/ID} #删除容器
docker save ${IMAGE NAME} > ${FILE NAME}.tar #将镜像保存成文件
docker load < ${FILE NAME}.tar #从文件加载镜像
docker start ${CONTAINER NAME/ID} #运行一个以前运行过的容器
docker stop ${CONTAINER NAME/ID} #停止一个正在运行的容器
docker logs ${CONTAINER NAME/ID} #显示运行容器的日志
docker top 容器ID/名称 #查看容器内运行的进程
docker run... #运行一个容器
--name ${container name} #设置容器名称
-p ${host port}:${container port} #映射主机和容器内的端口
-e ${env name}=${env value} #添加环境变量
-d #后台运行
-v ${host folder path}:${container folder path} #将主机目录挂在到容器内
-it #前台交互式启动do
--privileged=true #如果出现cannot open directory .: Permission denied解决办法:在挂载目录后多加一个--privileged=true参数即可
docker高级命令
# Advance use
docker cp /www/runoob 96f7f14e99ab:/www/ #将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
#将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www
docker cp /www/runoob 96f7f14e99ab:/www
#将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp 96f7f14e99ab:/www /tmp/
docker ps -f "status=exited" #显示所有退出的容器
docker ps -a -q #显示所有容器id
docker ps -f "status=exited" -q #显示所有退出容器的id
docker restart $(docker ps -q) #重启所有正在运行的容器
docker stop $(docker ps -a -q) #停止所有容器
docker rm $(docker ps -a -q) #删除所有容器
docker rm $(docker ps -f "status=exited" -q) #删除所有退出的容器
docker rm $(docker stop $(docker ps -a -q)) #停止并删除所有容器
docker start $(docker ps -a -q) #启动所有容器
docker rmi $(docker images -a -q) #删除所有镜像
docker exec -it ${CONTAINER NAME/ID} /bin/bash #进入容器内
docker exec -it ${CONTAINER NAME/ID} ping ${CONTAINER NAME/ID} #一个容器ping另外一个容器
docker top ${CONTAINER NAME/ID} #显示一个容器的top信息
docker stats #显示容器统计信息(正在运行)
docker stats -a #显示所有容器的统计信息(包括没有运行的)
docker stats -a --no-stream #显示所有容器的统计信息(包括没有运行的) ,只显示一次
docker stats --no-stream | sort -k8 -h #统计容器信息并以使用流量作为倒序
docker system
docker system df #显示硬盘占用
docker system events #显示容器的实时事件
docker system info #显示系统信息
docker system prune #清理文件
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名] #创建新镜像
#docer登陆
$ docker login --username=zhows http://47.110.145.204:8084
docker login -u zhows -p Zhows19870515 http://47.110.145.204:8084
#导出镜像
docker export 8ba3f9c34a1f > /home/falcon/imagejdk8.tar
docker build -t runoob/ubuntu:v1