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 的用户添加到这一个用户组当中来。

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

  1. 映射数据卷
docker -v /home/data:/opt/data

这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址

、GUI 管理配置四、GUI 管理配置

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

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

安装命令:
查看镜像

docker search portainer

拉取镜像

docker pull lihaixin/portainer

启动镜像

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 即可进入容器管理页面。
其他操作:https://www.yht7.com/news/212051

其中需要 使用 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

————————————————
原文作者:lwy7e
转自链接:https://learnku.com/articles/29690
版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接。

posted on 2022-11-14 09:30  一贯可乐  阅读(346)  评论(0编辑  收藏  举报



123