Docker使用(二)Docker安装和常见典型操作

Docker使用(二)Docker安装和常见典型操作

二、软件安装

1、Docker安装

(1)环境准备

[root@localhost ~]# uname -r

3.10.0-327.el7.x86_64

# cat /etc/os-release

在这里插入图片描述

(2)卸载旧版本

$ sudo yum remove docker \

​ docker-client \

​ docker-client-latest \

​ docker-common \

​ docker-latest \

​ docker-latest-logrotate \

​ docker-logrotate \

​ docker-engine

在这里插入图片描述

(3)安装软件包

安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。

$ sudo yum install -y yum-utils

[阿里云操作]:

# step 1: 安装必要的一些系统工具

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

(4)设置镜像仓库

$ sudo yum-config-manager \

​ --add-repo \

​ https://download.docker.com/linux/centos/docker-ce.repo //国外的地址太慢了,建议换成阿里云的地址

$ sudo yum-config-manager \

​ --add-repo \

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

[阿里云操作]:

# Step 2: 添加软件源信息

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

Step 3: 更新下yum缓存索引

$ yum makecache fast

(5)安装docker引擎

$ sudo yum -y install docker-ce docker-ce-cli containerd.io

(6)启动docker

$ sudo systemctl start docker

或者 $ sudo service docker start

systemctl enable docker //运行开机启动

如何判断成功:

[root@localhost ~]# docker version

在这里插入图片描述

(7)测试hello-world

$ sudo docker run hello-world

在这里插入图片描述

(8)查看images

[root@localhost ~]# docker images

在这里插入图片描述

(9)卸载docker

$ sudo yum remove docker-ce docker-ce-cli containerd.io

$ sudo rm -rf /var/lib/docker

2、阿里云镜像加速

(1)找到阿里云镜像加速服务

在这里插入图片描述

(2)配置镜像加速器

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-‘EOF’

{

“registry-mirrors”: [“https://25fgdfnn.mirror.aliyuncs.com”]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

三、常见典型操作

1、redis 安装
1.1 镜像安装

# docker run -p 6379:6379 --name my-redis -v /usr/local/workspace/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/workspace/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

命令说明:

-p 6379:6379:把容器内的6379端口映射到宿主机6379端口

-v /data/redis/redis.conf:/etc/redis/redis.conf:把宿主机配置好的redis.conf放到容器内的这个位置中

-v /data/redis/data:/data:把redis持久化的数据在宿主机内显示,做数据备份

redis-server /etc/redis/redis.conf:这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动

–appendonly yes:redis启动后数据持久化

============================================================================

1.2 docker镜像普通安装

docker images 查询到redis镜像

# docker run -it -d --name my-redis01 -p 6379:6379 redis

============================================================================

1.3 数据卷挂载(默认docker0网卡)

(1)在宿主机创建容器卷文件夹

mkdir workspace

cd /usr/local/workspace

创建配置文件所在文件夹:

mkdir /docker/redis/conf

创建Redis持久化文件所在文件夹:

mkdir /docker/redis/data

在conf文件夹下创建配置文件redis.conf

切记:不要配置daemonize yes,否则无法启动容器:启动后立即停止

(2)创建并启动容器

[root@localhost redis]# pwd

/usr/local/workspace/docker/redis

[root@localhost redis]# docker run -d --privileged=true -p 6379:6379 -v $pwd/conf/redis.conf:/etc/redis/redis.conf -v $pwd/data:/data --name myredis01 redis redis-server /etc/redis/redis.conf --appendonly yes

$pwd :代表当前目录

–privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限

-v :指定数据卷绑定

redis-server /etc/redis/redis.conf:指定配置文件启动redis-server进程

–appendonly yes:开启数据持久化

在这里插入图片描述

这里是在默认docker0网卡上。

============================================================================

1.4 自定义网卡

其他都一样,创建容器时候采用自定义网络

创建并启动容器

[root@localhost redis]# docker run -d --privileged=true -p 7379:6379 -v $pwd/conf/redis.conf:/etc/redis/redis.conf -v $pwd/data:/data --name mynet_redis01 –net mynet redis redis-server /etc/redis/redis.conf --appendonly yes

============================================================================

2、mysql 安装
2.1 基本镜像安装

# docker run -p 13306:3306 --name my-mysql -v /usr/local/workspace/mysql/conf:/etc/mysql -v /usr/local/workspace/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d

mysql:5.7

命令说明:

**-p ** 13306:3306 将容器的 3306 端口映射到主机的 3306 端口

–name my-mysql 启动后容器名为 my-mysql

-v $PWD/conf:/etc/mysql 将主机当前目录下的 conf/ 挂载到容器 /etc/mysql (conf目录为mysql的配置文件,不挂载也没问题)

-v $PWD/logs:/logs   将主机当前目录下的 logs 目录挂载到容器的 /logs (logs目录为mysql的日志目录,不挂载也没影响)

-v $PWD/data:/var/lib/mysql  将主机当前目录下的data目录挂载到容器的 /var/lib/mysql (data目录为mysql配置的数据文件存放路径,这个还是建议挂载,是存储数据的,容器down掉,还能再次挂载数据。)

-e MYSQL_ROOT_PASSWORD=123456  初始化 root 用户的密码

============================================================================

2.2 持久化安装

思考:mysql 的数据持久化问题

# 获取镜像

[root@localhost ~]# docker pull mysql:5.7

# 运行容器,需要做挂载!

# 安装启动mysql,需要配置密码,这是需要注意的!

#官方测试:

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

#启动容器

-d 后台运行

-p 端口映射

-v 卷挂载

–name 容器名字

[root@localhost ~]# docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

3、tomcat镜像安装

#docker run -it -d --name tomcat03 -p 3377:8080 tomcat

在这里插入图片描述

由于:官方镜像阉割了

解决:

进入容器

# docker exec -it 62131a77690a /bin/bash

# cp -r webapps.dist/* webapps

解决了

4、portainer

# docker run -d -p 9000:9000 \

–restart=always -v /var/run/docker/sock:/var/run/docker.sock --privileged=true portainer/portainer

在这里插入图片描述

账户:admin 密码:改成自己的密码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/543683.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学建模--MATLAB基本使用

1.线性方程组 这个是一个线性方程组&#xff08;属于线性代数的范畴&#xff09;&#xff0c;Axb类型的方程&#xff0c;如果使用MATLAB进行求解&#xff0c;就需要分别表示A矩阵&#xff08;线性方程组未知数前面的系数&#xff09;&#xff0c;b矩阵&#xff08;表示等式右边…

什么是资源子网和通信子网有什么特点

资源子网和通信子网是计算机网络中常见的两种子网类型&#xff0c;它们分别承担着资源管理和数据传输的重要功能。资源子网以共享资源为核心&#xff0c;通过集中管理和高效共享提高了资源利用率&#xff0c;而通信子网则负责连接不同资源子网&#xff0c;实现数据的传输和通信…

【拓扑空间】可分性2

可分拓扑空间 如果拓扑空间有可数的稠密子集&#xff0c;则称是可分拓扑空间。 可分&#xff1a;有可数子集A&#xff0c; 拓扑空间&#xff1a; 1.&#xff0c; 2.任意并 3.有限交 稠密&#xff1a; 闭包 导集&#xff1a;所有聚点的集合 聚点&#xff1a;任意去心领域&am…

电商系统秒杀一 秒杀的各种解决方案以及存在的问题

一 业务场景介绍 1.1 正常电商流程 1.2 活动和场次关系 秒杀活动表&#xff1a;sms_flash_promotion DROP TABLE IF EXISTS sms_flash_promotion; CREATE TABLE sms_flash_promotion (id bigint(20) NOT NULL AUTO_INCREMENT,title varchar(200) CHARACTER SET utf8 COLLAT…

hcia复习总结7

1&#xff0c;AR2发送2.0网段的信息给AR1&#xff0c;如果&#xff0c;AR1本身并不存在该网段的路由 信息&#xff0c;则将直接 刷新 到本地的路由表中。 Destination/Mask Proto Pre Cost Flags NextHop Interface 2.2.2.0/24 RIP 100…

有什么好赚钱的副业可以做吗?盘点6个互联网搞钱项目

网上互联网赚钱的项目千千万&#xff0c;每个博主都说自己赚到钱了。很多人既羡慕又慌张&#xff0c;特别幻想自己也月入几万&#xff0c;又怕错过赚钱的机会。那么今天就先为大家简单盘点6个互联网搞钱项目&#xff0c;帮助大家了解一下&#xff0c;也避避坑。这些项目收入可能…

关于Camera出图,有竖线问题的排查步骤

1、问题背景 之前调试的一个项目&#xff0c;在生产过程中&#xff0c;工厂反馈有台设备出图有明显的规则竖条纹&#xff0c;现象如下附件图所示&#xff1a; 遇到此类图像异常的问题该如何去分析呢&#xff0c;这是本文要总结的内容。 2、问题分析 1&#xff09;首先要从客户…

【yocto2】利用yocto工具构建嵌入式Linux系统

1.定制化嵌入式linux系统 在实际项目中&#xff0c;一款嵌入式产品往往具有不同的硬件平台和软件需求&#xff0c;因此需要对嵌入式Linux系统进行定制&#xff0c;以满足不同的产品需求。之前的章节中基于Freescale官方提供的例程&#xff0c;构建了运行于imx6ull14x14evk硬件…

18.古今成大事者,必以多选替身为第一要义——代理模式详解

“杏市而外&#xff0c;尚有何人可以分统?亦须早早提拔。办大事者以多多选替手为第一义&#xff0c;满意之选不可得&#xff0c;姑节取其次&#xff0c;以待徐徐教育可也。 ——曾国藩同治元年四月十二日” 一言 代理模式核心思想是为对象提供一个替身&#xff0c;以控制对这…

029—pandas 遍历行非向量化修改数据

前言 在 pandas 中&#xff0c;向量化计算是指利用 pandas 对象的内置方法和函数&#xff0c;将操作应用到整个数据结构的每个元素&#xff0c;从而在单个操作中完成大量的计算。 但在一些需求中&#xff0c;我们无法使用向量化计算&#xff0c;就需要迭代操作&#xff0c;本例…

汽车电子零部件(4):行泊一体ADAS

前言: 现阶段智能汽车行业正在大规模力推无限接近于L3的L2++或L2.9自动驾驶量产落地,类似于当初智能手机替换传统手机的行业机会期。智能汽车常见的智能驾驶功能包括: 行车场景:自适应巡航控制ACC;自动变道辅助ALC;交通拥堵辅助TJA;车道居中LCC;领航辅助NOA; 泊车场…

kkview远程控制: 内网远程桌面控制软件

内网远程桌面控制软件&#xff1a;高效、安全的远程管理方案 在信息技术日新月异的今天&#xff0c;内网远程桌面控制软件已成为许多企业和个人用户不可或缺的工具。这类软件允许用户通过内部网络&#xff0c;实现对其他计算机的远程访问和控制&#xff0c;从而大大提高工作效…