前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker入门笔记总结

Docker入门笔记总结

作者头像
网络安全自修室
发布2020-08-31 16:05:00
7910
发布2020-08-31 16:05:00
举报

Docker介绍

Docker 是一个容器化平台,允许您快速构建,测试和部署应用程序,作为便携式,自给自足的容器,几乎可以在任何地方运行。Docker 是容器技术的事实上的标准,它是 DevOps 工程师及其持续集成和交付管道的必备工具。

Docker安装

Window下安装Docker

安装包下载[1]双击安装完成后桌面会生成三个快捷方式,分别为:

代码语言:javascript
复制
(1) Docker Quickstart Terminal: 提供Docker的命令行操作
(2) Oracle VM VirtualBox: 虚拟机软件。
(3) Kitematic (Alpha):图形化的docker工具

具体安装详细,可参考文章[2]

Ubuntu/CentOS安装Docker
代码语言:javascript
复制
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
Kali/Debian安装Docker
代码语言:javascript
复制
# 安装通过 HTTPS 添加新存储库所需的依赖项:
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2
# 添加Docker PGP密钥
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

# 将 Docker APT 存储库添加到系统的软件存储库列表中
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

# 配置docker apt源 我这里用的国内阿里云的docker下载源
echo 'deb https://mirrors.aliyun.com/docker-ce/linux/debian buster stable'> /etc/apt/sources.list.d/docker.list

# 更新apt源
apt update

# 如果之前安装了docker的话 这里得卸载旧版本docker
apt remove docker docker-engine docker.io

# 安装docker
apt install docker-ce

# 查看版本
docker version

Docker优化

Docker国内加速器

不替换源对话,docker pull 拉去镜像对速度实在太龟速了。

代码语言:javascript
复制
# 编辑这个文件,如果没有对话就创建这个文件
vim /etc/docker/daemon.json

内容如下:

代码语言:javascript
复制
{
  "registry-mirrors": [
    "http://hub-mirror.c.163.com"
  ]
}

这里我使用对是国内163网易源,其他源可以自行百度替换。配置完成后重启服务才可以生效:

代码语言:javascript
复制
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker Portainer

Portainer是Docker一款可视化管理用具,用起来更加容易上手,部署的话也十分简单。

代码语言:javascript
复制
# 拉取镜像
docker pull portainer/portainer

# 一键部署
docker volume create portainer_data
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

浏览器访问本地的9000端口即可进入到设置密码界面,选择管理本地Docker的选项,点击就可以看到比较容易理解的Docker管理即界面了。

Docker基础命令

搜索镜像
代码语言:javascript
复制
docker search 关键词
下载镜像
代码语言:javascript
复制
docker pull 镜像名
查看已下载的镜像
代码语言:javascript
复制
docker image ls
删除镜像
代码语言:javascript
复制
docker rmi 镜像名
创建并使用容器
代码语言:javascript
复制
docker run -it --name 容器名 镜像名/镜像ID /bin/bash
查看当前容器
代码语言:javascript
复制
docker ps -a
统计信息
代码语言:javascript
复制
docker stats
启动容器
代码语言:javascript
复制
docker start 容器名/容器ID
重启容器
代码语言:javascript
复制
docker restart 容器名/容器ID
终止容器
代码语言:javascript
复制
docker stop 容器名/容器ID
连接容器
代码语言:javascript
复制
docker exec -it 容器名/容器ID /bin/bash
删除容器
代码语言:javascript
复制
docker rm 容器名/容器ID
端口映射

部署一个容器,并将80端口映射到宿主机的8000端口上

代码语言:javascript
复制
# 可以使用--name自定义部署的容器名
docker run -d -p 8000:80 --name 容器名 镜像名

# 也可以直接通过镜像部署
docker run -d -p 8000:80 镜像名
将容器制作成镜像
代码语言:javascript
复制
docker  commit  -m  '镜像描述'  -a  '制作者'  容器名  镜像名
镜像重命名
代码语言:javascript
复制
docker tag 原镜像名 新镜像名
将制作好的镜像打成 tar 包
代码语言:javascript
复制
docker  save  -o  tar包的名字  镜像名
加载本地镜像包
代码语言:javascript
复制
docker  load  <  tar 包所在路径

Docker拓展

创建自己的仓库

dockerhub[3]上创建帐号。

docker是和github类似的仓库,用于存放自己的镜像。可以创建私有和公开的仓库。私有的仓库免费的有限制,貌似只能创建一个仓库,公开的没有限制。

登录Dockerhub
代码语言:javascript
复制
docker login登录
上传自己的镜像
代码语言:javascript
复制
docker push 用户名/仓库名:vim
dockerfile部署镜像
代码语言:javascript
复制
docker build -t 自定义镜像名称 .
docker-compose部署
代码语言:javascript
复制
docker-compose up -d
Docker compose

docker compose 神器,国内的vulhubs靶场就是用的docker compose规范,所以这里有必要安装一下。

首先来前往查看最新版本仓库[4]

代码语言:javascript
复制
# 下载docker-compose
curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

# 给docker-compose执行权限
chmod +x /usr/local/bin/docker-compose

# 查看docker compose版本
root@kali-linux:~# docker-compose  version
docker-compose version 1.25.0-rc2, build 661ac20e
docker-py version: 4.0.1
CPython version: 3.7.4

参考资料

[1]

Docker_for_window_download: https://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

[2]

Window下安装Docker: "https://www.cnblogs.com/joyny/p/10486682.html"

[3]

创建Dockerhub仓库: "https://hub.docker.com/"

[4]

docker_compose仓库地址: https://github.com/docker/compose/releases

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全自修室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker介绍
  • Docker安装
    • Window下安装Docker
      • Ubuntu/CentOS安装Docker
        • Kali/Debian安装Docker
        • Docker优化
          • Docker国内加速器
            • Docker Portainer
            • Docker基础命令
              • 搜索镜像
                • 下载镜像
                  • 查看已下载的镜像
                    • 删除镜像
                      • 创建并使用容器
                        • 查看当前容器
                          • 统计信息
                            • 启动容器
                              • 重启容器
                                • 终止容器
                                  • 连接容器
                                    • 删除容器
                                      • 端口映射
                                        • 将容器制作成镜像
                                          • 镜像重命名
                                            • 将制作好的镜像打成 tar 包
                                              • 加载本地镜像包
                                              • Docker拓展
                                                • 创建自己的仓库
                                                  • 登录Dockerhub
                                                    • 上传自己的镜像
                                                      • dockerfile部署镜像
                                                        • docker-compose部署
                                                          • Docker compose
                                                          • 参考资料
                                                          相关产品与服务
                                                          容器镜像服务
                                                          容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                                                          领券
                                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档