Linux 下的 Docker 安装与使用
一、安装与配置
- 安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置阿里云镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装 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 常用命令
- 拉取镜像
docker pull
- 删除容器
docker rm <容器名 or ID>
- 查看容器日志
docker logs -f <容器名 or ID>
- 查看正在运行的容器
docker ps
查看所有的容器,包括已经停止的。
docker ps -a
- 删除所有容器
docker rm $(docker ps -a -q)
- 停止、启动、杀死指定容器
docker start <容器名 or ID>
# 启动容器
docker stop <容器名 or ID>
# 启动容器
docker kill <容器名 or ID>
# 杀死容器 - 查看所有镜像
docker images
- 拉取镜像
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 端口
- 映射数据卷
docker -v /home/data:/opt/data
这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址
、GUI 管理配置四、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
————————————————
原文作者:lwy7e
转自链接:https://learnku.com/articles/29690
版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接。