linux学习记录(docker)

Docke

Docker是基于Go语言实现的开源容器项目。它诞生于2013年年初,最初发起者是dotCloud公司。Docker自开源 后受到业界广泛的关注与参与,目前已有80多个开源组件,逐渐形成了围绕Docker容器的完整的生态体系。 dotCloud公司于2013年年底改名为Docker Ioc,专注于Docker相关技术和产品的开发,目前已经成为全球最大的 Docker容器服务提供商。官方网站为:docker.com

docker的优势

1.轻量化和快速部署:Docker容器是轻量级的,可以在几秒钟内启动和停止,Docker更加节省资源,可以快速部署和扩展

2.跨平台和可移植性:Docker可以在不同的操作系统和平台上运行,包括Linux、Windows和Mac等

3.高效的资源利用:Docker使用容器化技术,可以将应用程序及其依赖项打包到一个独立的容器中。这样可以 避免不同应用程序之间的冲突,并且可以更好地利用服务器的资源。

4.简化的管理和维护:Docker提供了一套简单易用的命令行工具和API,可以方便地管理和维护容器。开发人员 可以使用Docker镜像来构建和发布应用程序,系统管理员可以使用Docker容器来隔离和管理不同的服务。

5.可靠性和安全性:Docker容器提供了隔离的运行环境,可以确保应用程序之间的互不干扰。同时,Docker还 提供了一些安全机制,如命名空间和控制组,可以限制容器的资源使用和访问权限,提高应用程序的安全 性。

下载docker

在下载docker之前需要做一些准备工作

首先需要将防火墙关闭,并且取消自启动

systemctl disable --now firewalld

关闭dnsmasq,并取消开启自启动

systemctl disable --now dnsmasq

关闭NetworkManager,并取消自启动,如果是centos8就不需要进行这步操作了

systemctl disable -- now NetworkManager

关闭seliux

setenforce 0

sed -i 's/endorcing/disabled/' /etc/selinux/config

临时停止关闭swap

swapoff -a && sysctl -w vm.swappiness=0

进入 /etc/fstab文件夹

注释掉/dev/mapper/centos-swap swap swap defaults 0 0

安装docker

先将yum包更新到最新状态

yum update

安装需要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker,出现输入的界面都按y,在这里没有设置版本就默认为最新版本

yum install -y docker-ce

查看docker'版本,验证是否成功

docker -v

接着要获取一个阿里云(别的也可以,在这里用阿里云举例)的镜像.地址是:

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

在登录之后就会有一个ip,要将你的ip添加在/etc/docker/daemon.json中

{

"registry-mirrors": ["https://你的ID.mirror.aliyuncs.com"]

}

docker相关命令

启动docker

systemctl start docker

停止docker

systemctl stop docker

重启docker

systemctl restart docker

设置开机自启动

systemctl enable docker

镜像相关命令

查看镜像

docker images

搜索镜像

docker search

拉取镜像

docker pull

删除镜像

docker rmi 镜像名称

docker rmi -f 镜像名称(强制删除)

容器相关命令

查看容器

查看正在进行的容器

docker ps

查看所有容器

docker ps -a

创建并启动容器

docker run 参数

创建守护式容器:

docker run -id --name=c2 centos:7

交互式容器会在exit后容器自动关闭,守护式容器不会

进入容器

docker exec -it c2 /bin/bash

停止容器

docker stop 容器名称

启动容器

docker start 容器名称

删除容器

需要先停止容器才能删除

docker rm 容器名称

docker rm -f 容器名称 (强制删除容器)

查看容器信息

docker inspect 容器名称

退出容器

exit

卸载docker

查看yum安装的docker文件包

yum list installed |grep docker

 查看docker相关的rpm源文件

rpm -qa |grep docker

 删除相关服务

yum -y remove xxx

docker应用部署

如何用docker部署mysql

先拉取mysql的镜像文件

docker pull mysql:5.7

创建容器,端口映射和目录映射

docker run -d --name=c_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=dn mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

p 代表端口映射,格式为 宿主机映射端口:容器运行端口

-e MYSQL_ROOT_PASSWORD=123456 //表示设置root的密码为123456

-e MYSQL_DATABASE=dn //创建mysql数据库容器的同时初始化创建一个数据库 dn

进入容器操作mysql

开启mysql

docker exec -it c_mysql /bin/bash

登录mysql

mysql -uroot -p

修改密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

刷新权限

flush privileges 

docker容器的数据卷

数据卷是宿主机中的一个目录或者文件,数据卷的数据和主机是同步的,一个数据卷可以被多个容器挂载,一个容器也可以挂载多个数据卷

数据卷的作用

容器数据持久化

外部机器和容器间接通信

容器之间数据交换

配置数据卷容器

拉取一个镜像

docker pull centos:7

创建启动c3数据卷容器,使用 –v 参数 设置数据卷

docker run –it --name=c3 –v /volume centos:7 /bin/bash

这里没有指定宿主机目录,默认生成一个宿主机目录

docker inspect c3 (查看c3)

创建启动 c1 c2 容器,使用 –-volumes-from 参数 设置数据卷

docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash

docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash

代码如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值