基础环境搭建以及安装docker
- 安装vmware,安装linux7.9版本
- ssh root@192.168.194.128(我自己的电脑虚机)
- 查看系统版本
uname -a - 查看内核版本
cat /etc/redhat-release - 添加yum源:
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 安装epel源
yum install epel-release -y - 安装yum工具
yum install -y yum-utils - 记录一个问题
rm -f /etc/yum.repos.d/epel.repo - 配置config
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- XFS文件系统管理工具的版本太低可能会导致启动报错
Error while creating filesystem xfs on device docker-253:0-1052028-base: exit status 1 storage-driver=devicemapper
ERRO[2020-05-14T11:04:27.731045626+08:00] [graphdriver] prior storage driver devicemapper failed: exit status 1
Error starting daemon: error initializing graphdriver: exit status 1
yum update xfsprogs -y
- 搜索一下yum可以安装的docker-ce版本
yum list docker-ce --showduplicates | sort -r - 安装指定版本
sudo yum install -y docker-ce-19.03.9-3.el7 - 配置docker的下载源后启动docker并且设置开机自启
vi /etc/docker/daemon.json
{
"graph": "/data/docker",
"insecure-registries": ["registry.access.redhat.com","quay.io"],
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"live-restore": true
}
-
设置开机自动启动
-
systemctl start docker -
systemctl enable docker -
systemctl status docker -
docker run hello-world注册dockerhub -
dockerhub.com 去注册你的docker仓库
-
在自己的机器上 docker login docker.io
-
docker搜索可用镜像 docker search apline
-
docker拉取镜像 docker pull apline
-
打标签 docker tag 镜像ID 地址/仓库名/镜像名:版本号
-
docker push 地址/仓库名/镜像名:版本号
-
docker ps -a 列出所有的容器
-
进入容器内部 docker exec -ti 容器ID /bin/sh
-
容器启动停止重启 docker start 容器ID docker stop 容器ID docker restart 容器ID
-
删除容器 docker rm -f
-
遍历宿主机上所有已经退出的容器然后删除掉
for i in `docker ps -a | grep -i exit| awk '{print $1}'`;do docker rm -f $i;done
- 容器中如果有调整需要进行提交
docker commit -p 容器ID/容器名称 新的名称:版本此时就产生了一个新的镜像 - 导出镜像
docker save -o xxx.tar镜像ID(如果你指定镜像名的话他会吧该镜像的所有版本都打入到.tar中所以最好是指定镜像名:版本号) - 导入镜像
docker load -i xxx.tar需要自己tag一下 - docker logs -f 容器ID
docker拉取一个nginx
docker pull nginx:1.12.2docker run --rm --name mynginx -d -p81:80 nginx:1.12.2- 查看一下81端口在宿主机上有没有被使用
netstat -luntp | grep 81
docker run --name mynginx_baidu -d -p82:80 -v /data/nginx/html:/usr/share/nginx/html nginx:1.12.2
- docker分析命令 inspect
- 传递环境变量是 -e
- 容器内部安装curl