一、docker 安裝
1.0、准備
確保yum是最新的
yum update
查看是否已安裝docker列表
yum list installed | grep docker
1.1、安裝依賴包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1.2、設置阿里雲鏡像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.3、安裝 Docker-CE
sudo yum install docker-ce
1.4、報錯
--> Processing Conflict: 1:docker-ce-cli-18.09.6-3.el7.x86_64 conflicts docker
--> Processing Conflict: 1:docker-ce-cli-18.09.6-3.el7.x86_64 conflicts docker-io
--> Processing Conflict: 3:docker-ce-18.09.6-3.el7.x86_64 conflicts docker
--> Processing Conflict: 3:docker-ce-18.09.6-3.el7.x86_64 conflicts docker-io
--> Finished Dependency Resolution
Error: docker-ce conflicts with 2:docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
Error: docker-ce-cli conflicts with 2:docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
解決辦法
# 1、查看安裝過的docker:
yum list installed | grep docker
docker.x86_64 2:1.13.1-74.git6e3bb8e.el7.centos
docker-client.x86_64 2:1.13.1-74.git6e3bb8e.el7.centos
docker-common.x86_64 2:1.13.1-74.git6e3bb8e.el7.centos
# 2、卸載docker:
sudo yum remove -y docker-ce.x86_64 docker-client.x86_64 docker-common.x86_64
# 3、刪除容器鏡像:
sudo rm -rf /var/lib/docker
# 4、 重新安裝docker
sudo yum install docker-ce
1.5、啟動docker
# 開機自啟
sudo systemctl enable docker
# 啟動docker服務
sudo systemctl start docker
添加docker用戶組(可選)
# 1. 建立 Docker 用戶組
sudo groupadd docker
# 2.添加當前用戶到 docker 組
sudo usermod -aG docker $USER
1.6、鏡像加速配置
# 加速器地址 :
# 阿里雲控制台搜索容器鏡像服務
# 進入容器鏡像服務, 左側最下方容器鏡像服務中復制加速器地址
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://aeckruos.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.6.129:5000"]
}
EOF
# 重啟docker
sudo systemctl daemon-reload
sudo systemctl restart docker
逗號不能漏。切記切記。。。。。每行是有一個,號作為分隔符。
報錯:
Job for docker.service failed because the control process exited with error code
這個一般是由於 /etc/docker/daemon.json
里面配置有誤。
歡迎關注公眾號"Java學習之道",查看更多干貨!
二、拉取鏡像
鏡像拉取地址:https://hub.docker.com/search?q=&type=image
# 下載鏡像:docker pull <鏡像名:tag> 如:下載centos鏡像
docker pull centos
docker pull sameersbn/redmine:latest
# 查看已下載鏡像
docker images
# 刪除容器
docker rm <容器名 or ID>
# 查看容器日志
docker logs -f <容器名 or ID>
# 查看正在運行的容器
docker ps
# 查看所有的容器,包括已經停止的。
docker ps -a
# 刪除所有容器
docker rm $(docker ps -a -q)
# 停止、啟動、殺死指定容器
docker start <容器名 or ID> # 啟動容器
docker stop <容器名 or ID> # 啟動容器
docker kill <容器名 or ID> # 殺死容器
# 后台運行 docker run -d <Other Parameters>
docker run -d -p 127.0.0.1:33301:22 centos6-ssh
# 暴露端口: 一共有三種形式進行端口映射
docker -p ip:hostPort:containerPort # 映射指定地址的主機端口到容器端口
# 例如:docker -p 127.0.0.1:3306:3306 映射本機3306端口到容器的3306端口
docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
# 例如:docker -p 127.0.0.1::3306 映射本機的隨機可用端口到容器3306端口
docer -p hostPort:containerPort # 映射本機的指定端口到容器的指定端口
# 例如:docker -p 3306:3306 # 映射本機的3306端口到容器的3306端口
# 映射數據卷
docker -v /home/data:/opt/data # 這里/home/data 指的是宿主機的目錄地址,后者則是容器的目錄地址
三、GUI管理
這里推薦使用 Portainer 作為容器的 GUI 管理方案。
官方地址:https://portainer.io/install.html
安裝命令:
docker volume create portainer_data
docker run -d -p 10001:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
解釋:
-d 參數以detach方式運行
-p 將容器工作端口映射至物理機端口 HOST端口:容器端口
-v 將容器目錄掛載(映射)到物理機對應位置,這里指定通訊方式為sock
portainer/portainer 為鏡像名稱
訪問你的 IP:10001 即可進入容器管理頁面。
進入頁面后設置用戶名和密碼
然后選擇 local 或者remote, 一般部署在自己服務器, 使用單節點 local 即可。