Linux 下的 Docker 安装与使用 Docker-compose 安装

Linux 下的 Docker 安装与使用

一、安装与配置

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 

3.安装 Docker-CE

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

sudo yum install docker-ce

4.启动 Docker-CE

sudo systemctl enable docker
sudo systemctl start docker

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

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

  1. 建立 Docker 用户组
    sudo groupadd docker

    2.添加当前用户到 docker 组

    sudo usermod -aG docker $USER

    6.镜像加速配置

    这里使用的是 阿里云提供的镜像加速 ,登录并且设置密码之后在左侧的 Docker Hub 镜像站点 可以找到专属加速器地址,复制下来。

2.1 登录阿里云获取加速信息
首先你需要注册一个阿里云账号,没有的话,通过下面的连接跳转注册:
https://dev.aliyun.com/
跳转镜像加速页 https://cr.console.aliyun.com/
,获取加速配置信息:
然后执行以下命令:

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 上的 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 API over TCP将Portainer连接到远程Docker环境

Docker开启Remote API

docker默认是没有开启Remote API的,需要我们手动开启。

编辑/lib/systemd/system/docker.service文件:

注释掉图中第第二行,并在其上方添加一行(默认端口为2375):

ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
#ExecStart=/usr/bin/dockerd -H fd://

重启服务:

systemctl daemon-reload
systemctl restart docker

五、Docker-compose安装

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1

docker run -d -p 127.0.0.1:33301:22 centos6-ssh
怎么2个端口?

4年前 评论
lwy7e (楼主) 4年前
lwy7e (楼主) 4年前
lovecn (作者) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!