Linux安装Docker
docker安装
-
安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
-
设置阿里云镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
安装 Docker-CE
sudo yum install docker-ce
-
报错
--> 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
-
启动docker
# 开机自启 sudo systemctl enable docker # 启动docker服务 sudo systemctl start docker
-
添加docker用户组(可选)
# 1. 建立 Docker 用户组 sudo groupadd docker # 2.添加当前用户到 docker 组 sudo usermod -aG docker $USER
-
镜像加速配置
# 加速器地址 : # 阿里云控制台搜索容器镜像服务 # 进入容器镜像服务, 左侧最下方容器镜像服务中复制加速器地址 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["你的加速器地址"] } EOF # 重启docker sudo systemctl daemon-reload sudo systemctl restart docker
-
Docker仓库拉取镜像
# 下载镜像: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 指的是宿主机的目录地址,后者则是容器的目录地址
Portainer 作为容器的 GUI 管理方案
-
安装Portiner
docker volume create portainer_data docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer