参考视频:03-初识docker-安装docker_哔哩哔哩_bilibili
Docker安装与完全卸载(这一篇绝对够用)_docker 卸载-CSDN博客
docker是一种容器技术,解决软件跨环境迁移的问题。
一、docker安装
更新
yum update
设置源(centos)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装docker
yum install -y docker-ce
检查是否安装成功
docker -v
卸载
Docker安装与完全卸载(这一篇绝对够用)_docker 卸载-CSDN博客
二、docker架构
- 镜像(Image)
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一 样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
三、配置docker镜像加速器
四、docker服务相关命令
1.启动docker
systemctl start docker
2.查看docker状态
systemctl status docker
绿色表示已启动
3.停止docker
systemctl stop docker
4.重启docker
systemctl restart docker
五、Docker镜像相关命令
1.查看镜像
docker images
2.搜索远程镜像
docker search redis
3.拉取远程镜像
ducker pull redis
下载指定版本
docker pull redis:5.0
4.删除镜像
docker rmi 7614ae9453d1
5.其他命令
六、容器相关命令
1.查看容器
docker ps -a
2.创建容器
docker pull centos:7
docker run -it --name=c1 centos:7 /bin/bash
![](https://img-blog.csdnimg.cn/direct/e1766cb2a9a64a3caad5cf1a6b3a8ab6.png)
docker run -id --name=c2 centos:7
3.进入容器
docker exec -it c2 /bin/bash
4.启动容器
docker start c2
5.停止容器
docker stop c2
6.删除容器
docker rm c1
7.查看容器信息
docker inspect c2
8.退出容器
exit
七、Docker容器的数据卷
docker run -it --name=c1 -v /root/data:/root/data_container centos:7
八、Mysql应用部署
容器内网络服务和外部机器不能直接通信。
将容器中提供服务的端口映射到宿主机的端口,外部机器访问宿主机的端口,从而间接访问容器服务。
部署步骤:
1.搜索Mysql镜像
docker search mysql
2.拉取Mysql镜像
docker pull mysql:5.6
3.创建容器
先在root目录下创建mysql文件夹,并进入
mkdir ~/mysql
cd ~/mysql
创建
docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6
- 参数说明:
- **-p 3307:3306**:将容器的 3306 端口映射到宿主机的 3307 端口。
- **-v $PWD/conf:/etc/mysql/conf.d**:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
- **-v $PWD/logs:/logs**:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
- **-v $PWD/data:/var/lib/mysql** :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
- **-e MYSQL_ROOT_PASSWORD=123456:**初始化 root 用户的密码。
4. 进入容器,操作mysql
docker exec -it c_mysql /bin/bash
mysql -uroot -p123456
show databases;
5.使用外部机器连接容器中的mysql
九、Dockerfile
Docker镜像本质是一个分层文件管理系统
1.容器转为镜像
docker commit e35734c3047b itheimaa:1.0
2.镜像压缩
docker save -o itheima_tomcat.tar itheimaa:1.0
3.镜像加载
docker load -i itheima_tomcat.tar
4.docker案例,自定义centos
先创建文件夹
mkdir docker-files
再编辑dockerfile
vim centos_dockerfile
定义父镜像 FROM centos:7
定义作者信息 MAINTAINER itheima <itheima@itcast.cn>安装vim RUN yum install -y vim
定义默认工作路径 WORKDIR /usr
定义容器启动执行的命令 cmd /bin/bash
FROM centos:7
MAINTAINER itheima <itheima@itcast.cn>
RUN yum install -y vim
WORKDIR /usr
cmd /bin/bash
执行
docker build -f ./centos_dockerfile -t itheima_cenos:1 .