入门 Docker

入门 Docker

chuxiwen 3,495 2022-06-16

Docker

下载docker

docker官网:https://www.docker.com/

翻阅文档

寻找文档:网页最下面寻找Docs

Docker_1

选择下载文档

Docker_2

选择自己要下载的系统

Docker_3

根据自己的需求选择服务器型号

Docker_4

文档中有详细的安装方式这里介绍指令

CentOS 配置yum源(阿里源)

因为在安装时踩了很多坑,这里说一下

在下载docker前要设置且更新一下yum源,不然会报奇奇怪怪的错误,我的服务器是CentOs7
可能有些指令冗余,但是确实解决问题

配置阿里云yum源

####修改插件的配置文件
#拷贝一份配置文件,玩崩了还可以回头
cp /etc/yum/pluginconf.d/fastestmirror.conf /etc/yum/pluginconf.d/fastestmirror.conf.bak 
#编译原始文件,将其中的enabled=1改为0
vi  /etc/yum/pluginconf.d/fastestmirror.conf

####修改yum的配置文件
#拷贝一份文件,还是为了留一条后路
cp /etc/yum.conf /etc/yum.conf.bak
#编译yum源的配置文件 将其中的plugins=1改为0
vi /etc/yum.conf
 
####获取阿里云 repo
#拷贝一份以防后事
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
#对数据源进行配置
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#继续copy
cp /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak
#继续修改配置
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

####清理原来的缓存
yum clean all

####建立新的缓存
yum makecache

####对yum包进行更新
yum update

正式安装Docker

####下面指令中 如果是管理员,可以不加sudo
#1.删除老版的docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
                  
#2.安装必要的工具
sudo yum install -y yum-utils

#3.设置yum源(阿里云镜像,下载更快)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#4.下载docker
sudo yum install -y docker-ce

#5.启动docker
sudo systemctl start docker

完成!!!

使用阿里云镜像加速服务

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://yrmmudbe.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

这个是CentOS的镜像加速配置,其他系统可以访问阿里官网
https://cr.console.aliyun.com/cn-zhangjiakou/instances/mirrors

Ubantu配置apt源(阿里源)

# 切换为管理员用户
su root
# 把原生apt源进行备份
cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 编写sources.list
vim /etc/apt/sources.list

更改源具体内容

这个是Ubuntu 20.04版本的源

要对应相应的版本的源,否则下载文件后会报错缺少文件

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

更新软件列表

apt-get update

更新软件包

 apt-get upgrade

docker常用指令(个人而言)

拉取镜像并跑起来

#网上拉取镜像
docker pull 开发软件名称(比如mysql)
#将镜像添加到容器中
docker run
   -d  后台运行
   -p  服务器端口:容器里端口     端口映射
   -v  服务器目录:容器里的目录   卷挂载
   --name 容器名字
   --restart=always  在重启docker时重启容器
#查看日志
docker logs 容器id
#查看下载了什么镜像
docker images

其他的docker命令

1. 查看运行中的容器 docker ps
2. 查看所有的容器 docker ps -a
3. 进入容器 docker exec -it 容器ID /bin/bash
4. 停止所有的容器 docker stop $(docker ps -q)
5. 删除所有的容器 docker rm $(docker ps -aq)
6. 停止并删除全部 docker stop $(docker ps -q) & docker rm $(docker ps -aq)

使用Docker部署常用的服务

部署redis

# 拉取redis镜像
docker pull redis 

#启动redis
docker run --restart=always \
--log-opt max-size=100m --log-opt max-file=2 \
-p 6379:6379 --name myredis \
-v /home/redis/myredis/myredis.conf:/etc/redis/redis.conf \
-v /home/redis/myredis/data:/data -d redis \
redis-server /etc/redis/redis.conf  \
--appendonly yes  --requirepass 你的密码

####指令解释
-v /usr/local/docker/redis.conf:/etc/redis/redis.conf //把宿主机配置好的redis.conf挂载到容器内的指定位置
-v /usr/local/docker/data:/data  //把redis持久化的数据挂载到宿主机内,做数据备份

redis-server /etc/redis/redis.conf  //使redis按照redis.conf的配置启动

部署mysql

# 拉取mysql镜像
docker pull mysql

#启动mysql
docker run -d --name mysql --restart=always -p 3306:3306 \
-v /usr/local/docker/mysql/conf.d:/etc/mysql/conf.d \
-v /usr/local/docker/mysql/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/docker/mysql/data:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD="密码"  mysql


##特别注意
#conf.d  是文件夹
#data  是文件夹
#my.cnf  是文件
#在主机挂载时要注意容器内部结构    一上午的教训!!!
#多看日志  最好的debug工具

# Docker 学习