一、安装与配置

1.安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.设置阿里云镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

官方镜像地址为:https://download.docker.com/linux/centos/docker-ce.repo

3.安装 Docker-CE

重建 Yum 缓存。
安装 Docker-CE ,请执行一下命令进行安装:

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

默认安装的是最新版的docker,如果要安装指定版本docker或者需要了解更多内容,请详见官方文档:https://docs.docker.com/engine/install/centos/

4.启动 Docker-CE
sudo systemctl enable docker
sudo systemctl start docker
5.[可选] 为 Docker 建立用户组

docker 命令与 Docker 引擎通讯之间通过 UnixSocket ,但是能够有权限访问 UnixSocket 的用户只有 root 和 docker 用户组的用户才能够进行访问,所以我们需要建立一个 docker 用户组,并且将需要访问 docker 的用户添加到这一个用户组当中来。

a). 建立 Docker 用户组

sudo groupadd docker

b).添加当前用户到 docker 组

sudo usermod -aG docker $USER
6.镜像加速配置

这里使用的是 阿里云提供的镜像加速 ,登录并且设置密码之后在左侧的 镜像加速器 可以找到专属加速器地址,复制下来。
在这里插入图片描述
在这里插入图片描述
然后执行以下命令(可以直接拷贝页面上的):

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["你的加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

之后重新加载配置,并且重启 Docker 服务

systemctl daemon-reload
systemctl restart docker

二、配置 Docker 容器与镜像

1.拉取镜像

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

docker pull microsoft/aspnetcore

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

[root@iZuf6148jq0xmy8zrk3pfbZ ~]# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
microsoft/aspnetcore   latest              db030c19e94b        9 months ago        347MB
[root@iZuf6148jq0xmy8zrk3pfbZ ~]#

三、Docker 常用命令

1.拉取镜像

docker pull

2.删除容器

docker rm <容器名 or ID>

3.查看容器日志

docker logs -f <容器名 or ID>

4.查看正在运行的容器

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

5.删除所有容器

docker rm $(docker ps -a -q)

6.停止、启动、杀死指定容器

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

7.查看所有镜像

docker images

8.拉取镜像

docker pull <镜像名:tag>

例如以下代码

docker pull sameersbn/redmine:latest

9.后台运行

docker run -d <Other Parameters>

例如

docker run -d -p 127.0.0.1:33301:22 centos6-ssh

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端口

11.映射数据卷

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

四、GUI 管理配置

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

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

安装命令:

microsoft/aspnetcore   latest              db030c19e94b        9 months ago        347MB
[root@xmy ~]# docker volume create portainer_data
portainer_data
[root@xmy ~]# docker volume inspect portainer_data
[
    {
        "CreatedAt": "2019-06-03T15:58:06+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/portainer_data/_data",
        "Name": "portainer_data",
        "Options": {},
        "Scope": "local"
    }
]
[root@xmy ~]# docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Unable to find image 'portainer/portainer:latest' locally
latest: Pulling from portainer/portainer
d1e017099d17: Pull complete 
0b1e707a06d2: Pull complete 
Digest: sha256:d6cc2c20c0af38d8d557ab994c419c799a10fe825e4aa57fea2e2e507a13747d
Status: Downloaded newer image for portainer/portainer:latest
5b83f38cda980e146ee05d2d4769da601e9ef634daec67c617423907daf22758
[root@xmy ~]# docker ps
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                    NAMES
5b83f38cda98        portainer/portainer   "/portainer"        7 minutes ago       Up 2 seconds        0.0.0.0:9000->9000/tcp   agitated_hodgkin

访问你的 IP:9000 即可进入容器管理页面。
需要注意的是,为了安全启动容器后请立刻设置管理密码,否则容器为了安全会在5分钟之内停止。
如下:
在这里插入图片描述

五、yum卸载docker

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

如果yum报告没有安装这些软件包,也没关系。

/var/lib/docker/ 中包括镜像、容器、卷和网络,卸载操作将被保留这个目录。如果你需要彻底清理机器,可以手工删除这个目录。

写在最后:

默认情况下,非 root 用户无法运行 Docker 命令。
那么如何以非特权用户身份使用 Docker,或者使用非root用户安装docker呢?

安装脚本需要root或sudo具有安装和使用 Docker 的权限。如果要授予非 root 用户访问 Docker 的权限,请参阅 Linux 的安装后步骤。Docker 也可以在没有root特权的情况下安装,或配置为在无根模式下运行。有关在无根模式下运行 Docker 的说明,请参阅以 非 root 用户身份运行 Docker 守护进程(无根模式)


(END)

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐