首页 > 技术文章 > linux 下安装docker

memoryXudy 2019-05-10 10:54 原文

Linux 下的 Docker 安装与使用

一、安装与配置

安装一些必要的系统工具:

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

添加软件源信息:

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

更新 yum 缓存:

sudo yum makecache fast

安装 Docker-ce:

sudo yum -y install docker-ce

启动 Docker 后台服务

sudo systemctl start docker

测试运行 hello-world

[root@runoob ~]# docker run hello-world

由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。

 

5.[可选] 为 Docker 建立用户组

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

1. 建立 Docker 用户组

sudo groupadd docker

2.添加当前用户到 docker 组

sudo usermod -aG docker $USER

6.镜像加速配置

镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。

请在该配置文件中加入(没有该文件的话,请先建一个):

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

 

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

systemctl daemon-reload
systemctl restart docker

删除 Docker CE

执行以下命令来删除 Docker CE:

$ sudo yum remove docker-ce
$ sudo rm -rf /var/lib/docker
 

二、配置 Docker 容器与镜像

1.拉取镜像

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

docker pull microsoft/aspnetcore

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

docker images

三、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

安装命令:

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 即可进入容器管理页面。

 进入镜像 docker exec -it mongo  bash

推荐阅读