Docker入门到入坑

Docker

Docker安装

准备工作

第一步:准备CentOS,以CentOS7为例进行安装。
第二步:基于vmware打开CentOS
在这里插入图片描述
第三步:克隆CentOS(选择链接克隆-更省空间),命名为CentOS7964-docker
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

开启虚拟机系统

第一步:启动虚拟机,默认账号密码为root/root
在这里插入图片描述
第二步:打开终端,通过ifconfig指令检查网络,

[root@centos7964 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.227.129  netmask 255.255.255.0  broadcast 192.168.227.255
        inet6 fe80::20c:29ff:fee9:918a  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e9:91:8a  txqueuelen 1000  (Ethernet)
        RX packets 287398  bytes 419668874 (400.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 127375  bytes 8442701 (8.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        ....

第三步:通过MobaXterm工具链接虚拟机系统
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

卸载Docker

假如已经有docker,可通过执行如下指令卸载Docker

sudo yum remove docker-ce \
                docker-ce-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

在线安装Docker

第一步:安装一组工具

sudo yum install -y yum-utils 

第二步:设置 yum 仓库地址

【第一种】:使用国外官方源地址(比较慢)
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

【第二种】:选择国内的源地址( 阿里云源地址)

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

第三步:更新 yum 缓存

sudo yum makecache fast   #yum 是包管理器

第四步:安装新版 docker

sudo yum install -y docker-ce docker-ce-cli containerd.io

离线安装Docker

第一步:下载docker离线包

https://download.docker.com/linux/static/stable/x86_64/docker-20.10.6.tgz

第二步:下载离线安装工具

https://github.com/Jrohy/docker-install/

在这里插入图片描述
说明,将下载好的这个工具解压。

第三步:将下载好的资源放在一个目录,例如:

在linux环境下,创建/root/setup/docker目录,然后拷贝下载好的资源到此目录(可通过MobaXterm或XShell工具直接上传到linux目录)

[root@centos7964 docker]# pwd
/root/setup/docker
[root@centos7964 docker]# ls -l
总用量 68132
-rw-r--r--. 1 root root 69637582 84 13:04 docker-20.10.6.tgz
-rw-r--r--. 1 root root   114793 84 13:04 docker.bash
-rwxr-xr-x. 1 root root     7546 84 13:04 install.sh
[root@centos7964 docker]#

第四步:执行安装操作

# 进入/root/setup/docker 文件夹
cd /root/setup/docker
# 为 install.sh添加执行权限
chmod +x install.sh
# 安装
./install.sh -f docker-20.10.6.tgz

第五:安装成功以后,检查安装状态

docker info

Docker服务基本操作

启动docker服务

 systemctl start docker

查看docker状态

查看docker是否启动了,是否是运行状态.

systemctl status docker

在这里插入图片描述

设置docker开机自启

systemctl enable docker

禁用docker开机自启

systemctl disable docker

重新启动docker服务

 systemctl restart docker

查看docker信息

docker info

查看docker info中具体key的信息

例如:

docker info | grep 'Docker Root Dir:'

停止docker服务

systemctl stop docker

docker镜像加速

由于国内网络问题,需要配置加速器来加速。修改配置文件 /etc/docker/daemon.json

cd /etc/docker/ 

下面命令直接生成文件 daemon.json

cat <<EOF > /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com"
  ],
  "max-concurrent-downloads": 10,
  "log-driver": "json-file",
  "log-level": "warn",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
    },
  "data-root": "/var/lib/docker"
}
EOF

在这里插入图片描述
说明:在执行如上指令时,保证你的登录用户为root管理员用户,并且设置好以后重启docker服务.

Docker镜像操作实践

镜像

Docker 镜像是一组静态磁盘文件,可以任意下载、复制、分发。从镜像可以运行启动容器(Docker的虚拟计算机)。
在这里插入图片描述

下载镜像

从镜像仓库 https://hub.docker.com 下载镜像:

语法:docker pull 镜像名

# 下载 redis 镜像, 默认下载 redis:latest
docker pull redis:5.0.12

查看下载的镜像文件

# 查看镜像列表
docker images

镜像的名称

镜像的名称由两部分组成:repository:tag,其中的 tag 一般用来表示版本,默认的 tag 是 latest,表示最近的版本。

镜像的名称相当于在镜像上贴的一个标签,在一个镜像上可以贴多个标签:
在这里插入图片描述
添加名称:

# 镜像可以起另一个名称,名称格式: repository:tag
# 默认的 tag 是 latest
docker tag redis:5.0.12 tedu/redis:v5012

# 查看镜像
# 可以看到同一个镜像(ID相同)可以有多个名称
docker images | grep redis

在这里插入图片描述

查看镜像详情

语法:docker inspect 镜像名或镜像id

docker inspect hello-world

查看镜像历史

一个镜像是由多个层(layer)组成的,那么,我们要如何知道各个层的具体内容呢?通过 docker history 命令,可以列出各个层(layer)的创建信息,可以查看默认的启动命令,例如:

docker history redis

在这里插入图片描述

docker history mariadb

在这里插入图片描述

docker history tomcat

在这里插入图片描述

ENTRYPOINT 和 CMD

这两项设置都是用来设置容器中运行的命令。

只设置 CMD 来执行 ls -a -l:

CMD ["ls", "-a", "-l"]

只设置 CMD 是常见的用法。

用 ENTRYPOINT 和 CMD 两个一起设置来执行 ls -a -l:

ENTRYPOINT ["ls"]
CMD ["-a", "-l"]

两项一起设置时,会把两项设置的内容连接起来作为一个完整的命令。

启动容器时覆盖 ENTRYPOINTCMD

覆盖 CMD
以 tomcat 镜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

꯭ 瞎꯭扯꯭蛋꯭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值