中秋明月,豪门有,贫家也有,极慰人心

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启动容器

  1. 基于镜像新建容器并启动
docker run IMAGE:TAG

- INAGE:镜像名称
- TAG:镜像版本号

注意:一般不使用这种方式来加载镜像容器,最好是手动进行镜像目录与配置文件的挂载。参考下文的docker安装常用软件。

  1. 将处于停止状态的容器重新启动
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安装其他软件(手动挂载数据卷)的更多相关文章

  1. 『现学现忘』Docker基础 — 32、通过DockerFile的方式挂载数据卷

    目录 1.简单了解一下DockerFile 2.通过DockerFile的方式挂载数据卷 (1)创建DockerFile文件 (2)编辑Dockerfile文件 (3)构建Dokcer镜像 (4)启动 ...

  2. 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云

    一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...

  3. docker学习笔记(3)——联合文件系统与数据卷

    参考资料: 1.官网教程:https://docs.docker.com/reference/ 2.视频教程:https://www.bilibili.com/video/BV1og4y1q7M4?t ...

  4. docker挂载数据卷

    1.Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷,简单的理解就是将数据持久化的工具. 2.在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们 ...

  5. docker -v挂载数据卷网络异常的问题

    docker 删除容器并重新运行容器时报如下异常: docker: Error response from daemon: failed to create endpoint tomcat001 on ...

  6. docker数据卷技术

    数据卷技术 数据卷手动挂载 数据卷容器 part1:数据卷挂载方式 数据卷手动挂载 -v 主机目录:容器目录 #核心参数 #示例 docker run -it --name=centos_test - ...

  7. 温故知新Docker概念及Docker Desktop For Windows v3.1.0安装

    Docker 简介 什么是Docker? Docker是一个开放源代码软件项目,项目主要代码在2013年开源于GitHub.它是云服务技术上的一次创新,让应用程序布署在软件容器下的工作可以自动化进行, ...

  8. Docker安装MySQL 8.0并挂载数据及配置文件

    安装部署环境 Ubuntu 18.04.3 LTS Docker 19.03.2 MySQL latest(8.0.17) 下载镜像 # docker从仓库中拉取最新版的mysql镜像,如果没加标签的 ...

  9. Docker(四):Docker安装Redis

    查找Redis镜像 镜像仓库 https://hub.docker.com/ 下拉镜像 docker pull redis 查看镜像 docker images 创建Redis容器 运行Redis镜像 ...

随机推荐

  1. SAP 实例 10 List Box with value list from input help

    *&---------------------------------------------------------------------* *& Report DEMO_DROP ...

  2. 训练一个图像分类器demo in PyTorch【学习笔记】

    [学习源]Tutorials > Deep Learning with PyTorch: A 60 Minute Blitz > Training a Classifier   本文相当于 ...

  3. RabbitMQ:消息丢失 | 消息重复 | 消息积压的原因+解决方案+网上学不到的使用心得

    前言 首先说一点,企业中最常用的实际上既不是RocketMQ,也不是Kafka,而是RabbitMQ. RocketMQ很强大,但主要是阿里推广自己的云产品而开源出来的一款消息队列,其实中小企业用Ro ...

  4. 字符输入流_Reader类&FileReader类介绍和字符输入读取字符数据

    java.io.Reader:字符输入流的最顶层父类,其中定义了一些共性的成员方法,是一个抽象类共性的成员方法 int read() 读取单个字符并返回 int read(char[] cbuf) 将 ...

  5. vue封装原生的可预览裁剪上传图片插件H5,PC端都可以使用

    思路:1.先做出一个上传的图片的上传区 <!-- 上传区 --> <label for="fileUp"> <div class="upBo ...

  6. Tomcat深入浅出——最终章(六)

    前言 利用了六天的时间,对Tomcat的内容进行了整理. 学习不易.整理也不易,自己坚持的更了下来,很不错. 希望每一位在努力前行的小伙伴,都要相信坚持就会有收获. 本次Tomcat就探寻到这里,明年 ...

  7. redis 集群 slots are covered by nodes.

    原因数据数据损坏.需要修复 1.检测 redis-cli --cluster check 127.0.0.1:7000 2.检测结果 slots are covered by nodes3.进行修复 ...

  8. 编程技巧│超实用 nginx 中常见的配置合集

    目录 封禁 IP 仅开放内网 负载均衡 列出文件列表 路由转发 开启 gzip 压缩 解决跨域 资源防盗链 Keepalived 提高吞吐量 HTTP 强制跳转 HTTPS 封禁 IP 通过 deny ...

  9. Centos7借助docker部署mysql,提供远程链接服务

    Centos7 借助docker部署mysql,并提供远程连接服务 安装docker 运行docker 注意安装docker和运行docker的步骤很简单,可以参考我学习docker的笔记 docke ...

  10. tarjan算法和缩点

    tarjan可以找强连通的分量,但它的作用不只局限于此 缩点,说白了,就是建新图,之后的操作在新图上进行 自己看代码 #include<bits/stdc++.h> using names ...