total 6161540 -rw-------. 1 root root 1511 Sep 5 00:50 anaconda-ks.cfg -rw-r--r--. 1 root root 4521459712 Mar 5 05:12 CentOS-7.4-x86_64-DVD-1708.iso -rw-r--r--. 1 root root 1718784000 Sep 5 01:49 centos7-base.tar -rw-r--r--. 1 root root 69160447 Mar 5 05:08 docker-20.10.4.tgz [root@localhost docker]# tar -zxvf /root/docker-20.10.4.tgz -C /home/docker/ [root@localhost docker]# ll drwxrwxr-x. 2 1000 1000 4096 Feb 25 15:07 docker -rw-r--r--. 1 root root 443 Mar 5 06:07 docker.service [root@localhost docker]# #docker.service文件内容 [root@localhost docker]# cat docker.service [Unit] Description=Docker Application Container Engine Documentation=docs.docker.com After=network-online.target firewalld.service Wants=network-online.target
[Service] Type=notify ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=infinity LimitNPROC=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s
[Install] WantedBy=multi-user.target
[root@localhost docker]# cp docker.service /etc/systemd/system/docker.service [root@localhost docker]# chmod +x /etc/systemd/system/docker.service [root@localhost docker]# cp docker/* /usr/bin/
#修改docker.service文件时都要重新加载下 [root@localhost docker]# systemctl daemon-reload [root@localhost docker]# systemctl enable docker [root@localhost docker]# systemctl start docker [root@localhost docker]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2021-03-05 06:05:30 CST; 2min 2s ago Docs: docs.docker.com Main PID: 3117 (dockerd) Memory: 28.2M CGroup: /system.slice/docker.service ├─3117 /usr/bin/dockerd └─3124 containerd --config /var/run/docker/containerd/containerd.toml --log-level info
Mar 05 06:05:30 localhost.localdomain dockerd[3117]: time="2021-03-05T06:05:30.699111208+08:00" level=info msg="ccResolverWrapper: sending...le=g
### 2、docker基础命令
* 启动: systemctl start docker
* 停止: systemctl stop docker
* 设置开机启动: systemctl enable docker.service
* 查看docker状态: systemctl status docker
* 版本: docker version
* 基本信息: docker info
### 3、Docker的使用
docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG…]
决定容器的运行方式,前台执行还是后台执行。
docker run后面追加-d=true或者-d,那么容器将会运行在后台模式。
docker exec来进入到到该容器中,或者attach重新连接容器的会话
进行交互式操作(例如Shell脚本),那我们必须使用-i -t参数同容器进行数据交互
docker run时没有指定–name,那么deamon会自动生成一个随机字符串UUID
Docker时有自动化的需求,你可以将containerID输出到指定的文件中(PIDfile): --cidfile=""
Docker的容器是没有特权的,例如不能在容器中再启动一个容器。这是因为默认情况下容器是不能访问任何其它设备的。但是通过"privileged",容器就拥有了访问任何其它设备的权限。
**示例1:** **打印Hello World**
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。
#docker run centos:7.4 /bin/echo “Hello world”
**各个参数解析:**
docker: Docker 的二进制执行文件。
run: 与前面的 docker 组合来运行一个容器。
centos:7.4 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo “Hello world”: 在启动的容器里执行的命令。
**示例2** **运行交互式的容器**
通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力:
docker run -i -t centos:7.4 /bin/bash
**各个参数解析:**
-t: 在新容器内指定一个伪终端或终端。
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。
**示例3** **启动容器(后台模式)**
使用以下命令创建一个以进程方式运行的容器
docker run -d centos:7.4 /bin/sh -c “while true; do echo hello world; sleep 1; done”
**示例4** **容器状态:docker ps -a**
[root@docker-master-79100 opt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9c34a2387a54 redis:5.0.3 "/bin/bash" 2 months ago Exited (0) 2 months ago happy_pike 3d463109e16e redis:5.0.3 "/bin/bash" 5 months ago Exited (137) 5 months ago hungry_rit chie368fc75a59b3 centos7.8:v2 "/usr/sbin/sshd -D" 5 months ago Exited (0) 5 months ago elegant_la landed2310b6531c1 registry "/entrypoint.sh /e..." 5 months ago Up About an hour 0.0.0.0:5000->5000/tcp registry
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
详情docs.qq.com/doc/DSmdCdUNwcEJDTXFK