1、安装环境

在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用以下命令查看


uname -r


查看本地是否安装docker linux看docker安装到哪了_bash

2、用yum源安装

2.1 查看是否已安装docker列表


yum list installed | grep docker


查看本地是否安装docker linux看docker安装到哪了_查看本地是否安装docker_02

2.2 卸载旧版本docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.3 更换阿里yum源

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.4 安装依赖

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

2.5 方法一:安装docker CE


sudo yum install docker-ce docker-ce-cli containerd.io


2.6 方法二:要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:

yum list docker-ce --showduplicates | sort -r

列表(选择安装):

docker-ce.x86_64  3:18.09.1-3.el7                     docker-ce-stable
docker-ce.x86_64  3:18.09.0-3.el7                     docker-ce-stable
docker-ce.x86_64  18.06.1.ce-3.el7                    docker-ce-stable
docker-ce.x86_64  18.06.0.ce-3.el7                    docker-ce-stable

2.7方法三:安装指定版本docker

方法一:sudo yum install -y docker-ce-17.03.2.ce-1.el7.centos
方法二:yum install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm

2.8 启动和查看docker服务状态、版本

编辑文件/usr/lib/systemd/system/docker.service,增加如下内容

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

同时开启2375端口监听,ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375

docker version
systemctl start docker
systemctl status docker

查看本地是否安装docker linux看docker安装到哪了_Docker_03

以上说明docker安装成功

3.错误

启动错误:

查看本地是否安装docker linux看docker安装到哪了_docker_04

 解决方案:

vi /etc/docker/daemon.json

{
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

注意,里面不能有空格,但是可以使用tab缩进

 重新load:systemctl daemon-reload

重新启动:systemctl restart docker

查看状态:systemctl status docker

4. docker-compose

curl -L https://get.daocloud.io/docker/compose/releases/download/v2.0.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

5. docker命令无法tab键补全


#1、安装bash-complete yum install -y bash-completion #2、刷新文件 source /usr/share/bash-completion/completions/docker source /usr/share/bash-completion/bash_completion


6.建立 Docker 用户组

sudo groupadd docker

7.添加当前用户到 docker 组

sudo usermod -aG docker $USER

8.GUI 管理配置

这里推荐使用 Portainer 作为容器的 GUI 管理方案。

官方地址:https://portainer.io/install.html

安装命令:

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

访问你的 IP:9000 即可进入容器管理页面。

8. 配置 Docker 容器与镜像

8.1拉取镜像

拉取微软在 Docker 上的 aspnetcore 镜像:

docker pull microsoft/aspnetcore

之后执行以下命令查看是否拉取成功:

docker images

查看本地是否安装docker linux看docker安装到哪了_查看本地是否安装docker_05

9.docker常用命令

9.1拉取镜像

docker pull

9.2删除容器

docker rm <容器名 or ID>

9.3查看容器日志

docker logs -f <容器名 or ID>

9.4查看正在运行的容器

docker ps
docker ps -a # 为查看所有的容器,包括已经停止的。

9.5删除所有容器

docker rm $(docker ps -a -q)

9.6停止、启动、杀死指定容器

docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器

9.7查看所有镜像

docker images

9.8拉取镜像

docker pull <镜像名:tag>
# 例如以下代码
docker pull sameersbn/redmine:latest

9.9后台运行

docker run -d <Other Parameters>
# 例如
docker run -d -p 127.0.0.1:33301:22 centos6-ssh

9.10暴露端口

# 一共有三种形式进行端口映射
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端口

9.11映射数据卷

docker -v /home/data:/opt/data # 这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址