1. 程式人生 > >centos7 docker 安裝

centos7 docker 安裝

centos7

準備工作

因為是最小安裝, 默認沒有wget, 安裝wget
yum install wget

2:第二步
備份更新源 文件

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

替換阿裏雲鏡像源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

或者使用網易鏡像源(推薦用這個, 最近阿裏鏡像源抽了, 經常無法訪問)

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

第三步:運行yum makecache生成緩存
運行yum update更新系統, 這個過程會比較慢

第四步:yum install docker-io

登錄阿裏雲鏡像倉庫

  • 首先得有個阿裏雲賬號, 並且已經通過實名認證
  • 進入這個地址https://cr.console.aliyun.com/或這個地址https://dev.aliyun.com/search.html
  • 登錄之後, 進入管理控制臺找到docker鏡像倉庫->鏡像列表->然後給docker設置一個登錄密碼
  • 創建一個鏡像倉庫, namespace隨便起個, 鏡像名稱命名為centos-jdk7-tomcat7
  • 倉庫類型私有, 代碼源為本地倉庫, 然後創建
  • centos-jdk7-tomcat7鏡像倉庫創建完成之後, 進入管理界面, 有詳細的操作指南

配置鏡像加速器

  • 設置鏡像加速器, 在管理控制臺 Docker鏡像倉庫->加速器 每個用戶都會創建一個專屬加速器
  • 修改daemon配置文件/etc/docker/daemon.json來使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF‘
{
"registry-mirrors": ["https://cvv5tle1.mirror.aliyuncs.com"]# 這裏的鏡像源是我專屬的, 其他人用可能起不到加速效果

}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

在本地登錄阿裏雲鏡像倉庫

docker login --username=你的賬號 registry.cn-hangzhou.aliyuncs.com
用戶名是阿裏雲賬號全稱, 密碼是開通namespace時設置的密碼(可以在阿裏雲控制臺修改密碼)
賬號後面是你的地址

在本地登錄阿裏雲鏡像倉庫

docker login [email protected] registry.cn-hangzhou.aliyuncs.com
用戶名是阿裏雲賬號全稱, 密碼是開通namespace時設置的密碼(可以在阿裏雲控制臺修改密碼)

執行pull命令下載一個centos, 版本為latest的鏡像

docker pull centos # 不指定版本的話, 默認下載latest版本, 或者執行docker search centos, 搜索一個centos鏡像

#############下載完成後, 執行docker images 查看本地鏡像##############

[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos latest 67591570dd29 8 weeks ago 191.8 MB
#############啟動一個基於docker.io/centos的容器#############

docker run -it --name=test-centos docker.io/centos:latest /bin/bash
-it 表示交互模式, 啟動成功後進入命令行
-d 表示守護模式, 容器在後臺運行
--name 為容器命名
docker.io/centos:latest 格式為鏡像名:版本
/bin/bash 進入bash命令行

#############命令執行結果#############

[root@localhost ~]# docker run -it --name=test-centos docker.io/centos:latest /bin/bash
[root@060e31db603c /]# 已經進入容器內部

#############因為目前的容器內部, 沒有任何程序運行, 所以一旦執行exit, 退出容器時, 容器將結束運行#############
[root@060e31db603c /]# exit
exit
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
060e31db603c docker.io/centos:latest "/bin/bash" 3 minutes ago Exited (0) 11 seconds ago test-centos
[root@localhost ~]#

###############################################################
執行exit, 此時, 運行docker ps -a 查看容器, 發現狀態為Exited, 運行中的狀態是Up

docker ps 命令, 查看運行中的容器
docker ps -a命令, 查看全部的容器, 包括運行中和已停止運行的容器
#################################################################
刪除狀態為Exited, 已停止運行的容器

通過容器名稱刪除已經停止運行的容器(test-centos為docker run命令中給容器的命名)
docker rm test-centos
通過容器ID刪除已經停止運行的容器
docker rm 060e 這兩個命令效果一樣, 060e是containerID的前4位
強制刪除狀態為Up, 正在運行中的容器

docker rm -f test-centos

centos7 docker 安裝