docker笔记

root权限进入容器

docker exec -u 0 -it jenkins /bin/bash  #0表示root权限进入容器内部

一、安装Docker

1.安装yum管理工具:yum install -y yum-utils
2.添加软件源:yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
3.刷新缓存:yum makecache fast
4.安装最新版本Docker: yum install docker-ce docker-ce-cli containerd.io
5.安装指定版本的Docker: 
	1).查看版本信息:yum list docker-ce --showduplicates | sort -r
	2).安装指定版本:yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
6.启动Docker:systemctl start docker
7.设置Docker开机启动: systemctl enable docker

二、配置镜像加速服务

1.登录阿里云并点击控制台
2.搜索"容器镜像服务"并点击
3.单击镜像工具->镜像加速器
4.执行centos选项卡下的命令:
	sudo mkdir -p /etc/docker
	sudo tee /etc/docker/daemon.json <<-'EOF'
	{
	"registry-mirrors": ["https://kky4wavy.mirror.aliyuncs.com"]
	}
	EOF
	sudo systemctl daemon-reload
	sudo systemctl restart docker

三、Docker引擎和镜像的相关操作

1.查看Docker的信息:docker info
2.查看Docker版本号: docker -v 或 docker version
3.查看帮助信息:docker --help 或 docker
4.查看本地仓库的所有镜像: docker images
5.查看本地仓库中某个镜像的所有版本:docker images <镜像名>
5.搜索镜像: docker search <镜像名>
6.下载镜像: docker pull <镜像名>[:<tag>] //tag为mysql的版本,默认为latest
7.删除镜像: docker image rm [-f] <镜像id> 或 docker rmi [-f] <镜像id> //删除镜像的同时会删除该镜像所有的容器,-f:该镜像的容器仍在运行,则先停止改容器再删除该容器和镜像
8.查看本地仓库中所有镜像的id: docker images -q
9.删除本地仓库所有的镜像和容器: docker rmi -f $(docker images -q)
10.将本地的镜像tar文件加载到Docker中:docker load -i <tar文件名>

四、容器的相关操作

1.运行镜像生成容器:docker run --name <容器名称> -p <port1:port2> [-p <port3:port4>] -v 主机内目录:容器内目录[:ro] -d -it <镜像名:tag>|<镜像id>
	--name: 自定义容器名称
	-p: 将当前服务器的端口port1映射到容器内部的端口port2
	-d: 后台运行
	-v: 数据卷映射
	ro: 容器内被指定的目录是只读的
	-it: 生成容器后直接进去该容器
2.查看正在运行的容器: docker ps
3.产看正在运行的容器的id:docker ps -q
4.查看所有的容器: docker ps -a
5.查看所有容器的id: docker ps -aq
6.启动容器: docker start <容器id|容器名称>
7.停止运行中的容器:docker stop <容器id|容器名称>
8.重启容器:docker restart <容器id|容器名称>
9.删除已停止的容器: docker rm <容器id>
10.删除正在运行的容器: docker rm -f <容器id>
11.删除所有容器:docker rm -f $(docker ps -aq)
14.查看容器日志: docker logs [options] <容器id|容器名称>
	options:
		-t: 加入时间戳
		-f: 监听日志并实时打印最新的日志
		--tail <n>: 只显示日志的最后n行内容
15.查看某容器内的进程:docker top <容器id|容器名称>
16.进入容器:docker exec -it <容器id|容器名称> sh|bash
17.把容器内的文件或目录复制到主机上:docker cp <容器id|容器名称>:容器内的路径 主机的路径
18.把主机上的文件或目录复制到容器内:docker cp 主机的路径 <容器id|容器名称>:容器内的路径
19.查看容器内部细节:docker inspect <容器id|容器名称>
20.把容器打包成一个镜像:docker commit -m "描述信息" -a "作者" <容器id|容器名称> <镜像名称>:<tag>
21.把镜像备份到主机:docker save <镜像名称>:<tag> -o <文件名>

五、Docker数据卷

1.作用:实现主机系统与容器之间的数据共享
2.查看所有数据卷的名称:docker volume ls
3.查看某个数据卷的信息:docker volume inspect <数据卷名>
4.创建数据卷:docker volume create <数据卷名>
5.删除单个或多个数据卷:docker volume rm <数据卷名1>[ <数据卷名2> <数据卷名3>]
6.删除所有未使用的数据卷:docker volume prune

六、Dockerfile

1.官方文档:docs.docker.com/engine/reference/builder
2.生成镜像:docker build -t <镜像名>:<tag> <Dockerfile文件所在目录>

七、Docker-compose

1.Linux安装Docker-compose: 
	1).运行命令下载Docker-compose: 
		curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
	2).授权:chmod +x /usr/local/bin/docker-compose
	3).查看版本号测试是否安装成功:docker-compose version
2.

16.创建elasticsearch镜像的容器: docker run --name (container_name) -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 (image_name)
17.创建zookeeper镜像的容器:docker run --name (container_name) --restart always -d -p 2181:2181 (image_name)

开放防火墙端口9100,重启防火墙生效

firewall-cmd --add-port=9100/tcp --permanent

重启防火墙

systemctl restart firewalld

								==============================================================================================================

docker基础命令总结

docker run -name 容器名  -v 挂载 镜像 // 启动容器
docker run --rm // 每次退出清理容器文件系统,适合调试
docker run --restart=always // 自动重启容器,与上面互斥
docker ps -a // 查看运行的容器,-a表示查看所有容器
docker exec -it 容器id /bin/bash   // 进入容器,exit退出
docker kill/stop 容器id  // 强行停止/停止容器
docker run -d // 启动容器,-d表示后台启动
docker start 容器id // 启动一个已停止的容器
docker restart 容器id // 重启容器
docker logs -f +容器名 // 打印日志
docker start `docker ps -a -q` // 启动所有运行过的容器
docker stop `docker ps -a -q` // 停止所有运行过的容器
docker rmi 镜像id
docker rm 容器id
在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启:docker run --restart=always
如果已经启动了则可以使用如下命令:docker update --restart=always 容器id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

方大拿拿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值