Docker 安装

来自牛奶河Wiki
阿奔讨论 | 贡献2024年3月22日 (五) 11:35的版本 (创建页面,内容为“Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 从 17.03 版本之后分为 CE…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)。

docker-ce

  • docker-ce 社区版
  • docker-ee 商业版
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum install docker-ce docker-ce-cli -y

daemon.json

Docker Engine 的配置管理文件, 里面几乎涵盖了所有 docker 命令行启动可以配置的参数 daemon.json配置文件详解

/etc/docker/daemon.json

registry-mirrors
* https://<your_code>.mirror.aliyuncs.com  # 阿里云镜像站(需登录)
* http://hub-mirror.c.163.com              # 网易云镜像站
* https://mirror.baidubce.com              # 百度云镜像站
* https://docker.mirrors.sjtug.sjtu.edu.cn # 上海交大镜像站
* https://docker.nju.edu.cn                # 南京大学镜像站
* https://registry.docker-cn.com           # Docker 中国官方镜像(已关闭)
* https://docker.mirrors.ustc.edu.cn       # 中国科技大学 USTC(仅供内部访问)

log-driver = [json-file]
log-level = debug, [info], warn, error, fatal
cat > /etc/docker/daemon.json << EOF
{
    "registry-mirrors": [
        "https://mirror.baidubce.com",
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.sjtug.sjtu.edu.cn"
    ],
    "exec-opts": ["native.cgroupdriver=systemd"],
    "max-concurrent-downloads": 10,
    "max-concurrent-uploads": 5,
    "log-level": "info",
    "log-opts": {
        "max-size": "100m",
        "max-file": "2"
    },
    "live-restore": true
}
EOF

启动docker服务

# systemctl daemon-reload
# systemctl enable docker
systemctl start docker

docker 版本

上面安装的是最新版本,也可以指定版本安装

# List docker
yum list docker-ce.x86_64 --showduplicates
--> docker-ce.x86_64            3:19.03.9-3.el7                    docker-ce-stable
yum install docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7

docker CMD

docker info
docker run hello-world
docker run -itd ubuntu:20.04 /bin/bash
-i: 交互式操作
-t: 终端
-d: 指定容器的运行模式为后台
ubuntu: ubuntu 镜像
/bin/bash: 命令,指定使用 /bin/bash 作为交互式 Shell

docker ps               # 查看启动的容器
docker exec             # 进入容器
docker stop <容器ID>
docker restart <容器ID>
docker ps -a
CONTAINER ID   IMAGE         COMMAND    CREATED          STATUS                     PORTS     NAMES
c9aebfaf8fd5   ubuntu:20.04   "/bin/bash"   53 seconds ago   Up 52 seconds                         jovial_jepsen
bf32c8a5c049   hello-world   "/hello"   9 minutes ago    Exited (0) 9 minutes ago             great_carver
1538a050ab4c   hello-world   "/hello"   10 minutes ago   Exited (0) 7 seconds ago             inspiring_booth
docker exec -it c9aebfaf8fd5 /bin/bash
exit