Docker学习笔

本文详细介绍了Docker的安装过程,包括安装、配置、镜像与容器的关系,以及如何使用阿里云镜像加速器。还涵盖了常用Docker命令,如启动、停止、镜像操作,容器的生命周期管理和MySQL应用的部署,以及Dockerfile的使用示例。
摘要由CSDN通过智能技术生成

参考视频: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.其他命令

Docker 命令大全 | 菜鸟教程 (runoob.com)

六、容器相关命令

1.查看容器

不加-a表示查看正在运行的容器
docker ps -a

2.创建容器

-i表示一直保持容器,-t表示分配一个终端,/bin/bash表示初始化代开一个脚本
docker pull centos:7
docker run -it --name=c1 centos:7 /bin/bash
创建一个容器在后台运行
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容器的数据卷

数据卷:
容器中的一个目录或文件
当容器目录和数据卷目录绑定后,对方修改会立即同步
1.配置数据卷
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 .

  • 16
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值