1、Docker简介
你是否还在为「环境不一致」而抓狂?是否因「依赖冲突」而深夜加班?有没有想过像发送快递一样轻松部署应用?
Docker,它用「容器化」技术将代码、环境、配置一键打包,让开发、测试、生产环境实现「零差异」同步,彻底告别「在我电脑上是好的」这种魔咒!
2、Docker安装
由于Docker在国内的限制,导致访问缓慢,甚至打不开,所以我们可以在国内的镜像产品替代(阿里云镜像、清华大学镜像等)。本章使用阿里云镜像操作。
阿里云镜像的地址:https://developer.aliyun.com/mirror/
可以选取社区版的docker-ce
,点击进去就是安装流程。这里简单记录一下CentOS (使用 yum 进行安装):
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils
# Step 2: 添加软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 安装Docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Step 4: 开启Docker服务
sudo service docker start
按照阿里云的流程安装,会安装很多工具进去,我们可以简化安装:
# 添加docker-ce的软件源
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 查看源列表。如果docker-ce有文件大小,说明没有问题
sudo yum repolist
# 安装docker-ce
sudo yum -y install docker-ce
# 启动docker-ce
sudo service docker start
# 查看是否启动成功。如果出现版本信息则启动成功
sudo docker -v/version
3、安装可能遇到的问题
-
无法安装docker-ce,出现镜像列表无法获取:直接更换镜像源为阿里云的镜像源。
# 备份原来的与yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak # 添加阿里云的yum源 # 因为笔者是系统是Centos7,所以使用Centos-7.repo,使用这可以根据实际情况选择 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
-
yum工具版本过低
# 升级yum的版本 sudo yum update
4、拉取镜像
拉取镜像可能存在无法拉取的问题,因为docker hub在国内是无法访问的。所以需要配置hub源。
配置hub源,亲测可用:直接修改 /etc/docker/daemon.json
文件。
# 文件内容
{
"registry-mirrors": [
"https://docker-cf.registry.cyou/",
"https://dockercf.jsdelivr.fyi/",
"https://docker.jsdelivr.fyi/",
"https://dockertest.jsdelivr.fyi/",
"https://dockerproxy.com/",
"https://docker.nju.edu.cn/",
"https://docker.mirrors.sjtug.sjtu.edu.cn/",
"https://mirror.iscas.ac.cn/",
"https://docker.rainbond.cc/"
]
}
也可以直接使用命令:
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker-cf.registry.cyou/",
"https://dockercf.jsdelivr.fyi/",
"https://docker.jsdelivr.fyi/",
"https://dockertest.jsdelivr.fyi/",
"https://dockerproxy.com/",
"https://docker.nju.edu.cn/",
"https://docker.mirrors.sjtug.sjtu.edu.cn/",
"https://mirror.iscas.ac.cn/",
"https://docker.rainbond.cc/"
]
}
EOF
5、拉取镜像
以拉取Nginx为例
# 拉取镜像的命令
sudo docker pull nginx:latest
# 查看已经拉取的镜像
sudo docker images
6、镜像的启动
# 启动镜像并重命名为mynginx
sudo docker run -d -p 8081:80 --name myneinx nginx:latest
-
-d 后台启动
-
-p 将容器的端口80映射到宿主机的8081上
-
–name 重命名容器的名字
# 查看是否启动成功
sudo docker ps
直接在宿主机上访问验证:
curl http://localhost:8081
也可以在浏览器上直接访问:
END
喜欢就点赞、收藏,微信可以搜公众号【编程朝花夕拾】或扫码关注我哦!