一、安装docker的步骤:
1.yum install -y yum-utils
2.yum-config-manager --add-repo http://mirrors.aliyun.com/docker- ce/linux/centos/docker-ce.repo --配置阿里云仓库
3.yum makecache fast
4.yum install docker-ce -y
5.docker version --查看是否安装成功
6.systemctl start docker --启动docker
7.systemctl restart docker --重启docker
二、配置阿里云镜像加速器
1.sudo mkdir -p /etc/docker
2.sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://qvm2weup.mirror.aliyuncs.com"]
}
EOF
3.sudo systemctl daemon-reload
4.sudo systemctl restart docker
三、Docker的基本命令
docker version 显示docker版本
docker info 显示docker信息
docker --help --帮助命令
四、镜像命令
docker images
docker -a 显示所有镜像
docker search --搜索镜像
docker pull mysql --下载镜像
docker pull mysql:5.7
docker rmi mysql --删除镜像
docker rmi -f 容器id1 容器id2 ... --删除多个容器
docker rmi -f $(docker images -aq) 删除所有镜像
docker run mysql --启动一个镜像
docker run [可选] image
-d
-a
-p
启动并进入容器
docker run -it mysql /bin/bash
退出容器到主机
exit
容器不停止退出
ctrl+P+Q
查看当前正在运行的容器
docker ps
查看正在运行容器,包含历史创建的容器
docker ps -a
删除容器,不能删除运行的容器,强制需要rm -f
docker rm 容器id
删除所有容器
docker rm -f $(docker ps -aq)
docker ps -a -q | xargs docker ps
启动容器
docker start 容器id
停止容器
docker stop 容器id
重启容器
docker restart
强制停止当前容器
docker kill 容器id
后台启动容器
docker run -d 镜像名
查看日志
docker logs
查看容器进程
docker top 容器id
查看容器所有信息
docker inspect 容器id
进入正在运行的容器
docker exec -it 容器id /bin/bash
区别:
docker exec --开启一个新的终端
docker attach 容器id --进入容器正在执行的终端,不会开启新的终端
从容器拷贝文件到主机
docker cp 容器id:源地址 目标地址
五、容器命令
--安装nginx
1.docker search nginx
docker pull nginx --拉取镜像
docker run -d --name nginx01 -p 3344:80 nginx
-d:后台启动
--name:起别名
-p:宿主机端口 :容器内部端口
-p:映射公网端口3344到nginx默认80端口,可以通过访问3344,来访问80
curl localhost:3344 --访问nginx
docker run -it --rm tomcat:9.0
--用完即删除,适合测试
docker stats --查看docker容器内存状态
联合文件系统
docker的镜像实际上是由一层层的文件系统组成的,这种层级的文件系统UnionFS
如何提交一个自己的镜像
docker commit --提交一个容器作为副本
docker commit -m=“提交的描述信息” -a=“作者” 容器id 目标镜像名: [TAG]
容器数据卷的使用
什么是数据卷?
容器的持久化和同步操作,容器间也可以数据共享
使用数据卷:
使用命令挂载 -v
docker run -it -v 主机内目录: 容器内的目录
查看docker容器详细信息
docker inspect 容器id
docker run -it -v /home/ceshi/: /home/centos/bin/bash
主机修改内容,会自动同步到容器内部。
mysql同步数据
mysql运行的时候需要配置密码:-e
docker run -d -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=0816 --name mysql01 mysql:5.7
-d:后台运行
-v:数据卷挂载
--name:镜像名字
mysql:TAG --mysql版本
-e:环境配置
-p:端口映射
具名挂载,匿名挂载,指定路径挂载
-v 容器内路径 --匿名挂载
-v 卷名: /容器内路径 --具名挂载
-v 宿主机路径: 容器内路径 --指定路径挂载