Docker学习手册

1
卸载docekr
1 卸载Docker Engine,CLI和Containerd软件包:
yum remove docker-ce docker-ce-cli containerd.io
2 主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:
rm -rf /var/lib/docker
在这里插入图片描述
更新yum软件包的索引
yum makecache fast
在这里插入图片描述
安装docker软件包
yum install -y yum-utils
yum-config-manager \ --add-repo
https://download.docker.com/linux/centos/docker-ce.repo
阿里云镜像地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装Docker引擎
yum install docker-ce docker-ce-cli containerd.io
如果报异常:Failed to start docker.service: Unit not found
执行yum install docker

启动docker
systemctl start docker

通过运行hello-world 映像来验证是否正确安装了Docker Engine 。
docker run hello-world

卸载Docker
1 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
2 删除资源
rm -rf /var/lib/docker

阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://xxxxxxxx.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

参考文档
https://docs.docker.com/reference/

命令
镜像命令

docker images [OPTIONS] [REPOSITORY[:TAG]] 列出镜像
docker search mysql 搜索镜像
在这里插入图片描述
docker pull xx:xxx下载xxx版本镜像
docker rmi -f xxx 删除镜像

容器命令
在这里插入图片描述
在这里插入图片描述
**docker ps 【-a -n=x -q】**列出【历史 最近x个 只显示容器编号】运行的容器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
docker top 容器id 查看容器中的进程信息

docker inspect 2e5702c79a89 查看镜像元数据

docker run -p 3306:3306 --name mysql -v /opt/docker_v/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d imageID 创建mysql容器

docker exec -it 容器id bash 进入容器必须加bash 不然进不去
docker attach 容器id 进入容器
在这里插入图片描述
docker cp 容器id:容器文件路径 主机路径 从容器中拷贝到主机中

在这里插入图片描述
在这里插入图片描述
ES+Kibana部署
限制es内存的占用
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” elasticsearch:tag
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

查看cpu占用率
docker stats
验证ES安装成功
curl localhost:9200

用Kibana连接ES
在这里插入图片描述
docker run -d -p 8000:8000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

提交镜像commit
docker commit -m=“提交的描述信息” -a =“作者” 容器id 目标镜像名:【TAG】
在这里插入图片描述
容器数据卷
docker run -it -v 主机路径:容器路径 --privileged =true 镜像名 /bin/bash
查看元数据来看是否挂载成功
docker inspect 容器id
在这里插入图片描述
mysql数据持久化问题
运行mysql
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
查看所有卷volume
docker volume ls

一个容器挂载另一个容器
–volumes-from
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
编写一个自己的tomcat镜像
在这里插入图片描述
用了Dockerfile 就不用指定构建镜像的名字
docker build -t diytomcat -f 新创镜像的名字 . 注意最后要有点

注意
在这里插入图片描述
对于 COPY 和 ADD 命令来说,如果要把本地的文件拷贝到镜像中,那么本地的文件必须是在上下文目录中的文件。其实这一点很好解释,因为在执行 build 命令时,docker 客户端会把上下文中的所有文件发送给 docker daemon。

如果太大就可以新建一个文件夹,放本地上传的文件和Dockerfile

docker网络
创建一个自定义网络
docker network create -d bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
查看所有网络
docker network ls

将一个容器连入一个网络
docker network connect mynet tomcat03
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值