Docker 安装:修订间差异

来自牛奶河Wiki
跳到导航 跳到搜索
(创建页面,内容为“Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 从 17.03 版本之后分为 CE…”)
 
第67行: 第67行:
  docker run -itd ubuntu:20.04 /bin/bash
  docker run -itd ubuntu:20.04 /bin/bash
  <small>-i: 交互式操作
  <small>-i: 交互式操作
-t: 终端
  -t: 终端
-d: 指定容器的运行模式为后台
  -d: 指定容器的运行模式为后台
ubuntu: ubuntu 镜像
  ubuntu: ubuntu 镜像
/bin/bash: 命令,指定使用 /bin/bash 作为交互式 Shell</small>
  /bin/bash: 命令,指定使用 /bin/bash 作为交互式 Shell</small>
   
   
  docker ps              # 查看启动的容器
  docker ps              # 查看启动的容器
  docker exec            # 进入容器
  docker exec            # 进入容器
  docker stop <容器ID>
  docker stop             # 停止容器
  docker restart <容器ID>
  docker restart         # 重启动容器
docker export          # 导出容器快照
docker import          # 导入容器快照
docker images          # 列出本地镜像
docker search          # 从 Docker Hub(https://hub.docker.com)搜索镜像
docker pull            # 下载镜像
docker rmi              # 删除镜像


  docker ps -a
  <small><small><b>docker images</b>
  <small><small>CONTAINER ID  IMAGE        COMMAND    CREATED          STATUS                    PORTS    NAMES
REPOSITORY    TAG      IMAGE ID      CREATED        SIZE
ubuntu        20.04    3cff1c6ff37e  4 weeks ago    72.8MB
hello-world  latest    d2c94e258dcb  10 months ago  13.3kB
  <b>docker ps -a</b>
CONTAINER ID  IMAGE        COMMAND    CREATED          STATUS                    PORTS    NAMES
  c9aebfaf8fd5  ubuntu:20.04  "/bin/bash"  53 seconds ago  Up 52 seconds                        jovial_jepsen
  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
  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</small></small>
  1538a050ab4c  hello-world  "/hello"  10 minutes ago  Exited (0) 7 seconds ago            inspiring_booth
 
  docker exec -it c9aebfaf8fd5 /bin/bash
  docker exec -it c9aebfaf8fd5 /bin/bash
  exit
  exit
 
docker export c9aebfaf8fd5 > ubuntu2204.tar
cat ubuntu2204.tar | docker import - test/ubuntu:v1</small></small>




[[分类:Develop]]
[[分类:Develop]]
[[分类:Linux]]
[[分类:Linux]]

2024年3月22日 (五) 13:47的版本

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             # 停止容器
docker restart          # 重启动容器
docker export           # 导出容器快照
docker import           # 导入容器快照
docker images           # 列出本地镜像
docker search           # 从 Docker Hub(https://hub.docker.com)搜索镜像
docker pull             # 下载镜像
docker rmi              # 删除镜像
docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
ubuntu        20.04     3cff1c6ff37e   4 weeks ago     72.8MB
hello-world   latest    d2c94e258dcb   10 months ago   13.3kB

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

docker export c9aebfaf8fd5 > ubuntu2204.tar
cat ubuntu2204.tar | docker import - test/ubuntu:v1