安装docker及使用docker安装其他软件(手动挂载数据卷)
中秋明月,豪门有,贫家也有,极慰人心
Linux安装docker
可以参考官方的安装文档
centos安装docker:
https://docs.docker.com/engine/install/centos/
# 1. 卸载之前的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 2.需要的安装包
yum install -y yum-utils
# 3.设置镜像的仓库
# 推荐使用国内的
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum软件包索引
yum makecache
# 4.安装docker相关的 docker-ce 社区版 而ee是企业版
yum install docker-ce docker-ce-cli containerd.io
# 5、启动docker
docker systemctl start docker
# 6. 使用docker version查看是否按照成功
docker version
ubuntu安装docker:
https://docs.docker.com/engine/install/ubuntu/
其中又一个地方需要注意,就是将镜像仓库从国外的换成国内的镜像仓库,如阿里云。
# 移除以前的docker
sudo apt-get remove docker docker-engine docker.io containerd runc
# 配置镜像仓库
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" && sudo apt-get update && sudo apt-get install -y docker-ce
# 配置镜像加速器
sudo mkdir -p /etc/docker && sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://epsax6ut.mirror.aliyuncs.com"],
"log-driver":"json-file",
"log-opts": {"max-size":"10m", "max-file":"3"}
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker -v # 查看版本
docker常用
docker查看下载的镜像
docker images
docker启动容器
基于镜像新建容器并启动
docker run IMAGE:TAG
- INAGE:镜像名称
- TAG:镜像版本号
注意:一般不使用这种方式来加载镜像容器,最好是手动进行镜像目录与配置文件的挂载。参考下文的docker安装常用软件。
将处于停止状态的容器重新启动
docker container start [container ID or NAMES]
docker容器重新启动
不管容器是否在运行
docker restart [container ID or NAMES]
docker查看容器
查看正在运行中的容器
docker ps
查看所有容器(包括运行中的、已经停止的)
docker ps -a

字段说明
CONTAINER ID : 容器 ID;
IMAGE : 创建容器时使用的镜像;
COMMAND : 容器最后运行的命令;
CREATED : 容器创建时间;
STATUS : 容器状态;
PORTS : 端口信息;
NAMES : 容器名:和容器 ID 一样,可以标识容器的唯一性,同一台宿主机上不允许有同名容器存在,否则会冲突;
docker容器交互
exec(推荐)
docker exec -it [container ID or NAMES]
attach
docker attach [container ID or NAMES]
两者都是使用exit退出容器内部,区别在于,后者退出会导致容器停止运行。
docker停止容器
stop
docker container stop [container ID or NAMES]
docker删除容器
rm
docker container rm [container ID or NAMES]
prune 删除所有已经停止的容器
docker container prune
docker安装常用软件(手动挂载数据卷)
docker镜像仓库地址:
https://hub.docker.com/_/mongo?tab=tags&page=1
可以通过这个查看需要下载的镜像版本

docker安装MySQL
安装mysql5.7
# 拉取镜像
docker pull mysql:5.7 # 运行容器
sudo docker run -p 3306:3306 --name mysql \
-v /home/docker/mysql/log:/var/log/mysql \
-v /home/docker/mysql/data:/var/lib/mysql \
-v /home/docker/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=admin-123456 \
-d mysql:5.7
# 参数说明 -p 3312:3306 将容器的3306端口映射到主机的3312端口
# -v 宿主机文件目录:容器内目录 将容器内文件挂载到宿主机上
# -e MYSQL_ROOT_PASSWORD=root 设置mysql密码为admin-123456
# -d 后台启动
# --name 给启动容器起名字 # 使用docker ps 查看启动的容器
修改mysql配置文件
# 进入配置文件挂载的目录下
cd /home/docker/mysql/conf # 编辑配置文件my.cnf
vim my.cnf # 新增配置文件内容
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve # 修改配置文件之后,重启容器
docker restart mysql
docker安装redis
安装redis
# 1、创建配置文件
mkdir -p /home/docker/redis/conf
mkdir -p /home/docker/redis/data
touch /mydata/redis/conf/redis.conf # 2、下载镜像
docker pull redis:latest # 3、启动容器
# 云服务器一定要修改端口或配置密码,否则会被拉去挖矿
docker run -p 6379:6379 --name redis \
-v /home/docker/redis/data:/data \
-v /home/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf # 4、直接进入redis客户端
docker exec -it redis redis-cli
修改redis配置文件
vim /home/docker/redis/conf/redis.conf # 插入下面内容
appendonly yes # 支持持久化
requirepass xxxxxx # 配置redis密码
# 注意:后面的注释去掉,否则容器运行不起来 # 保存
docker restart redis # 进入redis客户端
docker exec -it redis redis-cli
auth xxxxxx
docker安装monogoDB
mkdir -p /home/docker/mongo/data
mkdir -p /home/docker/mongo/conf
mkdir -p /home/docker/mongo/logs docker pull mongo:latest docker run -d --name mongo -p 27017:27017 \
-v /home/docker/mongo/conf:/etc/mongo \
-v /home/docker/mongo/data:/data/db \
-v /home/docker/mongo/logs:/var/log/mongodb mongo --auth $ docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser({user:'admin',pwd:'123456',roles:[{role:'userAdminAnyDatabase',db:'admin'},"readWriteAnyDatabase"]})
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')
设置容器自启动
docker update [container ID or NAMES] --restart=always
安装docker及使用docker安装其他软件(手动挂载数据卷)的更多相关文章
- 『现学现忘』Docker基础 — 32、通过DockerFile的方式挂载数据卷
目录 1.简单了解一下DockerFile 2.通过DockerFile的方式挂载数据卷 (1)创建DockerFile文件 (2)编辑Dockerfile文件 (3)构建Dokcer镜像 (4)启动 ...
- 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云
一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...
- docker学习笔记(3)——联合文件系统与数据卷
参考资料: 1.官网教程:https://docs.docker.com/reference/ 2.视频教程:https://www.bilibili.com/video/BV1og4y1q7M4?t ...
- docker挂载数据卷
1.Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷,简单的理解就是将数据持久化的工具. 2.在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们 ...
- docker -v挂载数据卷网络异常的问题
docker 删除容器并重新运行容器时报如下异常: docker: Error response from daemon: failed to create endpoint tomcat001 on ...
- docker数据卷技术
数据卷技术 数据卷手动挂载 数据卷容器 part1:数据卷挂载方式 数据卷手动挂载 -v 主机目录:容器目录 #核心参数 #示例 docker run -it --name=centos_test - ...
- 温故知新Docker概念及Docker Desktop For Windows v3.1.0安装
Docker 简介 什么是Docker? Docker是一个开放源代码软件项目,项目主要代码在2013年开源于GitHub.它是云服务技术上的一次创新,让应用程序布署在软件容器下的工作可以自动化进行, ...
- Docker安装MySQL 8.0并挂载数据及配置文件
安装部署环境 Ubuntu 18.04.3 LTS Docker 19.03.2 MySQL latest(8.0.17) 下载镜像 # docker从仓库中拉取最新版的mysql镜像,如果没加标签的 ...
- Docker(四):Docker安装Redis
查找Redis镜像 镜像仓库 https://hub.docker.com/ 下拉镜像 docker pull redis 查看镜像 docker images 创建Redis容器 运行Redis镜像 ...
随机推荐
- 全新升级的AOP框架Dora.Interception[汇总,共6篇]
多年之前利用IL Emit写了一个名为Dora.Interception(github地址,觉得不错不妨给一颗星)的AOP框架.前几天利用Roslyn的Source Generator对自己为公司写的 ...
- NC16539 [NOIP2013]表达式求值
NC16539 [NOIP2013]表达式求值 题目 题目描述 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值. 输入描述 输入仅有一行,为需要你计算的表达式,表达式中只包含数字.加法运 ...
- Linux,Centos系统下配置java Jdk(附下载地址)
一.下载jdk 官网下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 需要登录Oracle ...
- Cisco Packet Tracer Student(思科网络模拟器)模拟集线器和嗅探攻击
一.集线器简介 集线器是局域网内的基础设备,工作于OSI中的物理层,作用是将接收的信号进行放大再传输,集线器是纯硬件设施,集线器开发之初就没考虑过软件层面的操作,所以不具备像路由器.交换机等设备那样具 ...
- Ubuntu 隐藏所有窗口快捷键不生效问题
在绑定界面卡住时,切换到一个tty窗口,再切回来 gsettings reset-recursively org.gnome.settings-daemon.plugins.media-keys gs ...
- Linux 无法启动vmmon的问题[主要出现于Arch系]
Vmmon module not loaded 使用如下命令加载模块 # modprobe -a vmw_vmci vmmon 可能会出现modprobe: WARNING: Module vmmon ...
- 我为 Netty 贡献源码 | 且看 Netty 如何应对 TCP 连接的正常关闭,异常关闭,半关闭场景
欢迎关注公众号:bin的技术小屋,本文图片加载不出来的话可查看公众号原文 本系列Netty源码解析文章基于 4.1.56.Final版本 写在前面..... 本文是笔者肉眼盯 Bug 系列的第三弹,前 ...
- YII总结学习7(在一个视图中显示另外一个视图)
controller\hello <?php namespace app\controllers; use yii\web\Controller; class helloController e ...
- Digester解析xml原理
Tomcat内部是使用Digester来解析xml文件的,将xml转化为java对象. digester底层是基于SAX+事件驱动+栈的方式来搭建实现的,SAX主要用来解析xml,事件驱动主要是在解析 ...
- Redis常用指令之string、list、set、zset、hash
Redis之五大类型常用指令 redis的一些小知识 redis服务器端口默认是6379 在编译完成后的bin目录下启动服务端:redis-server 客户端连接操作:redis-cli -h lo ...