Docker在线安装(包括私有镜像源配置)及使用

centos docker安装

  • 系统版本:cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
  • 安装需要的软件包
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

安装成功结果


image.png
  • 配置源地址
sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

执行结果


image.png
  • 安装 Docker Engine-Community (选择特定版本进行安装)
# 查看docker可安装版本
yum list docker-ce --showduplicates | sort -r
  • 选择版本进行安装
#其中 3:20.10.0-3.el7 为上个步骤查出来的版本列表
sudo yum install docker-ce-3:20.10.0-3.el7 docker-ce-cli-3:20.10.0-3.el7 containerd.io
  • 启动docker
sudo systemctl start docker
  • 查看docker版本
docker --version

docker开通远程api端口

详细参考 : https://www.jianshu.com/p/4f49c5b40d15

ubuntu docker 安装 (版本信息: Ubuntu 22.04 LTS)

  • 更新 apt
# 挨个执行安装

 # update 命令只会获得系统上所有包的最新信息,并不会下载或者安装任何一个包
 sudo apt update
 # 更新已安装软件包的命令 
 sudo apt upgrade
 sudo apt full-upgrade
  • 添加Docker库
# 安装必要的证书
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加docker官方库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#更新源列表 ,如果出现 ' E: Method https has died unexpectedly!' 问题,参考下面 ' ubuntu添加存储库执行 apt update 异常'
sudo apt update

上面两个步骤,“添加Docker官方GPG密钥”、“添加docker官方库” 如果出现443等连接超时问题,找下文“问题 - docker相关文件下载超时” 进行配置解决

  • 安装Docker
#安装 Docker CE
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
#查看docker版本
apt-cache madison docker-ce
#选择上述列表中任意版本安装
sudo apt install docker-ce=5:20.10.16~3-0~ubuntu-jammy docker-ce-cli=5:20.10.16~3-0~ubuntu-jammy containerd.io
  • 检验是否安装成功
# 查看docker安装状态
systemctl status docker
# 查看docker 容器进程
docker ps -a
  • 修改 Docker APT源
    如果碰到连接 download.docker.com错误,错误信息如下
Could not connect to download.docker.com:443 (13.224.163.26), 
connection timed out Could not connect to download.docker.com:443 (13.224.163.81), 
connection timed out Could not connect to download.docker.com:443 (13.224.163.23), 

可以修改 docker 源,源信息

# 阿里源
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 安装docker-compose
sudo apt install docker-compose

常规使用方法

# docker pull 容器名:版本号
docker pull redis:6.0.20

如果出现 “error pulling image configuration: download failed after attempts=6: dial tcp 185.45.7.189:443: i/o timeout” 问题,是因为国内主流的镜像源都不能使用了,可以通过以下步骤,快速的搭建自己的镜像源

  1. 注册 Cloudflare 账号,地址:https://dash.cloudflare.com/
  2. 注册成功后,进入首页,找到 Workers & Pages , 点击 pages绑定github账号
  3. fork CF-Workers-docker.io 项目到自己的github账户(刚刚绑定的账号)
  4. 刷新2中的页面,选择3中fork的项目,按步骤设置,无需做其他配置变更
  5. 配置成功后的界面如下,标注地方即新的镜像地址,配置成功等几分钟后即生效,将地址配置进docker镜像,即可使用
  6. vim /etc/docker/daemon.json 进行编辑,格式如下
    {
    "registry-mirrors": ["你的镜像地址"]
    }
  7. systemctl daemon-reload && systemctl restart docker


    image.png
  • 常规安装 -- redis
# 创建需要挂载的文件目录
# 创建本地目录
mkdir -pv /opt/db_data/redis/data
# 创建容器
# 参数说明  -d 后台运行,运行成功返回ID ; -p 端口号映射 ; --restart always docker重启时该容器会重启; -v 挂载目录,宿主机目录:容器安装成功后内部目录; --requirepass redis参数,redis的密码  
docker run -d -p 6379:6379 --name redis --restart always -v /opt/db_data/redis/data/:/data redis:6.0.20 --requirepass eb887f0a2794
  • 常规安装 -- mysql
# 创建目录
mkdir -p ~/data/var/data/mysql8/db
# 创建容器
docker run \
--restart always \
--name=mysql8.0.20 \
-e MYSQL_ROOT_PASSWORD=mypassword \
-v ~/data/var/data/mysql8/db:/var/lib/mysql \
-p 3306:3306 \
-d mysql:8.0.20 --default-authentication-plugin=mysql_native_password --character-set-server=UTF8MB4
  • 常规安装 -- nginx
# 创建目录,用于挂载
mkdir -pv /opt/nginx/logs
mkdir -pv /opt/nginx/html
mkdir -pv /opt/nginx/logs
mkdir -pv /var/www/html
# 创建容器
# 1 :--privileged=true 表示以root权限,读取宿主机的挂载目录
# 2 :/var/www/html 作为前端项目访问根目录
docker run -d \
--restart always \
--name nginx-train36 -p 8097:8097 \
-v /opt/nginx-train36/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/nginx-train36/conf.d:/etc/nginx/conf.d \
-v /opt/nginx-train36/logs:/var/log/nginx \
-v /opt/nginx-train36/html:/usr/share/nginx/html \
-v /var/www/html:/var/www/html \
--privileged=true nginx
  • 常规安装 -- postgre
# 1下载镜像
docker pull postgres:12.10
# 2 创建挂载目录
mkdir -pv /opt/volume/postgre_data
# 3 创建容器
docker run -it -d --name postgresql \
-v /opt/volume/postgre_data:/var/lib/postgresql/data \
-p 5432:5432 -e POSTGRES_PASSWORD=我的密码 postgres:12.10
# 4 连接
账号 postgres 密码 我的密码
  • 关于网络
# 查看docker网络
docker network ls
# 查看某个网络容器情况
docker network inspect bridge

问题

  • docker相关文件下载超时
    执行 “ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg” 报错:
    curl: (28) Failed to connect to download.docker.com port 443 after 131114 ms: Connection timed out
    gpg: no valid OpenPGP data found.

用以下方法更换源

sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • ubuntu添加存储库执行 apt update 异常 (Method https has died unexpectedly!)
    添加“echo "deb [arch=(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null” 报错如下
    image.png

    解决办法
#临时
sudo GNUTLS_CPUID_OVERRIDE=0x1 apt-get update
#永久
# 将 GNUTLS_CPUID_OVERRIDE=0x1 添加到环境变量中
vim /etc/environment
# 环境变量生效
source /etc/profile
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,036评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,046评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,411评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,622评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,661评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,521评论 1 304
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,288评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,200评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,644评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,837评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,953评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,673评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,281评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,889评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,011评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,119评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,901评论 2 355

推荐阅读更多精彩内容