Linux中安装Docker
文章目录
一、安装前准备工作
文章目录
1.查看服务器操作系统版本
cat /etc/redhat-release
2.查看服务器的操作系统内核版本
uname -r
3.安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
如果不是root用户登陆的系统,需要手动输入sudo -i切换到root帐户
4.设置阿里云docker-ce镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
二、安装Docker
这里以社区版为例进行安装
1.docker-ce安装
阿里云教程: https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.57e31b114cafGV
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
yum install -y docker-ce
2.启动docker并设置开机自启
#启动docker命令
systemctl start docker
#设置开机自启命令
systemctl enable docker
#查看docker版本命令
docker version
3.配置国内镜像
#创建docker配置文件目录
mkdir -p /etc/docker
#添加配置内容
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://vsxcs7sq.mirror.aliyuncs.com"]
}
EOF
重启docker
systemctl restart docker
4.运行一个hello-world
docker run hello-world
出现异常:
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Retrying in 10 seconds
docker: error pulling image configuration: download failed after attempts=6: dial tcp 128.242.245.93:443: connect: connection refused.
See 'docker run --help'.
原因:我们的镜像源不行
解决方法:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
systemctl status docker
运行:docker info
重新运行docker run hello-world
三、安装Docker可视化管理工具Portaine(未成功,因为国内docker停止服务)
1.搜索镜像
docker search portainer
2.拉取镜像
#拉取镜像命令
docker pull portainer/portainer
#查看镜像命令
docker images
3.运行镜像(启动Portainer容器)
#创建数据卷
docker volume create portainer_data
#启动容器
docker run -d -p 9000:9000 --restart=always --name prtainer -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
#查看启动中的容器
docker ps
启动参数说明:
-it 输出容器命令行的内容 即容器的自身的程序输出在控制台 有点类似前台运行
-d 和it相反 隐藏后台运行
-p 端口映射 9000::9000 外部(宿主机)端口:镜像里面运行的端口 将宿主机9000端口映射到镜像里面的9000端口
--restart 重启方式:always跟随docker自启
--name 启动后的容器名称
-v 挂载容器数据卷
--network 连接到某个网络(例如:--network test_net)
--network-alias 容器的网络名称(例如:--network-alias portainer)
4 访问Portainer客户端
访问地址:http://192.168.110.105:9000,首次访问需要设置admin管理员登录密码,这里设置为admin123,登陆后进入首页
点击进去控制台界面
可以看到镜像与容器