docker记录
- docker 概述
- docker下载安装
- 常用docker服务指令
- 常用docker容器指令
- docker扩展命令
- docker常见问题
docker 概述
docker是一种轻量级的虚拟技术,在我看来就是一个微型的虚拟机,image作为容器的模板,以image为一个模板运行起来一个或者多个容器,容器不能同名。docker 有linux版本和windos版本,建议直接Linux版本毕竟即使是windos版本也有很多的命令行操作,进入容器的bash也是基于linux下的。
docker下载安装
ubuntu下:
centos下:
安装部分感觉做开发的应该都能解决的,懒得写了
待更新…
常用docker服务指令
启动docker服务
systemctl start docker
关闭docker
systemctl stop docker
重启docker
systemctl restart docker
常用docker容器指令
运行指定的容器
了解全部命令前我们先了解常用的后缀
-i:以交互模式运行容器,通常与-t同时使用,
-t:为容器重新分配一个伪输入终端,也就是tty,通常与-i同时使用,
--name:为容器指定一个运行中的新名称,
-d:后台运行容器,并返回容器ID,也即启动守护式容器,docker容器后台运行,就必须要有一个前台进程
-v:挂载命令。可以把宿主机的某个目录挂载到容器的指定目录下
-p: 和主机的端口号映射
-e: 作用是指定容器内的环境变量。比如mysql指定MYSQL_ROOT_PASSWORD参数
以启动数据库命令为例:
docker run --name test-mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /root/data:/var/lib/mysql mysql:5.7
-name:运行一个名叫test-mysql的数据库
-d表示该容器在后台运行(注意docker后台运行容器必须有一个前台的容器运行)
-p指定主机3306端口映射到容器的3306端口
-e指定容器内的环境变量这里指定容器密码为123456
-v容器目录挂载。这是宿主机的数据存放路径(你也可以自定义), /var/lib/mysql:这是mysql容器存放数据的地方。也是为了同步数据,防止,容器被删除以后,数据就不存在了。
查看运行中的容器
查看所有容器(包括创建但是没运行的)
停止指定容器
格式:docker stop 容器id
注:同时删除多个容器可以并列写多个容器id中间用空格隔开,成功返回容器id
删除指定容器(需要容器已经停止才能被删除)
格式:docker rm 容器id
查看所有镜像
格式:docker images
删除指定镜像images
格式:docker rmi 镜像id
进入容器内命令行
docker exec -it rabbitmq /bin/bash //进入容器
格式:docker exec -it 容器名 /bin/bash
docker扩展命令
启动所有容器
docker start $(docker ps -a | awk '{ print $1 }' | tail -n +2)
停止所有容器
docker stop $(docker ps -a | awk '{ print $1 }' | tail -n +2)
docker常见问题
这里我会把我使用docker遇到的问题都贴上,包括问题截图和解决方案
待更新。。。。