ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

docker概念

2020-03-21 14:55:41  阅读:180  来源: 互联网

标签:sudo 概念 json systemctl yum 镜像 docker


docker概念

docker安装

1.docker在线安装

1.更新yum到最新

yum update

2.卸载旧版本

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

3.安装需要的软件包,yum-util提供yum-config-manager功能

yum install -y yum-utils device-mapper-persistent-data lvm2

3.设置yum仓库

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4.安装docker,默认y确认

yum install -y docker-ce

5.启动并查看docker版本

systemctl start docker
docker -v

2.离线安装

1.下载好docker的离线二进制包

wget https://download.docker.com/linux/static/stable/x86_64/docker-18.06.3-ce.tgz

2.解压docker,并将所有docker下所有内容已到/usr/bin目录下

tar -zxvf docker-18.06.3-ce.tgz
sudo cp docker/* /usr/bin

3.开启docker服务

sudo dockerd &

4.现在你可以尝试着打印下版本号,试着看看 images,看看 info

sudo docker --version

5.docker命令不需要敲sudo的方法

sudo groupadd docker
sudo usermod -aG docker 用户名

6.绑定docker仓库ip和端口

sudo vim /etc/docker/daemon.json
{ "insecure-registries":["ip:port"] }

7.注册docker为service服务

注册后可以通过systemclt来管理socker服务

systemctl start/stop/restart/ docker

将以下内容写入/usr/lib/systemd/system/docker.service中(没有该文件则新建)。

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

image-20200319214545670

docker三个基本概念

  • 镜像images:docker镜像(image),相当于一个root文件系统,如官方镜像ubuntu:16.04,包含了ubuntu:16.04完整的最小的root文件系统。
  • 容器container:镜像(image)和容器(container)的关系,好比面向对象中类和对象的关系。镜像是静态的定义,容器是镜像实例化的实体。
  • 仓库repository:仓库(repository)可以看作一个代码管理中心,用来保存镜像。

配置docker镜像加速器

Docker Registry 公开服务是开放给用户使用、允许用户管理镜像的 Registry 服 务。

最常使用的 Registry 公开服务是官方的 Docker Hub,这也是默认的 Registry,并 拥有大量的高质量的官方镜像。

Docker Hub下载docker镜像,比较慢,一般会配置镜像加速器:

1.daocloud加速器

终端执行:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

这个命令是修改/etc/docker/daemon.json文件,写入一个json数据如下

[root@s20 ~]# cat /etc/docker/daemon.json
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}# 配置好了docker加速器,下载镜像就快很多了

注意:有的人使用这个命令后会出问题,这个问题可以通过修改这个json文本,去掉最后的逗号,即可。

2.阿里云加速器

通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://jaqjblse.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

镜像加速地址,通过登录阿里云服务搜索得到。

docker命令

docker服务相关命令

1.启动docker服务

systemctl start docker

2.停止docker服务

systemctl stop docker

3.重启docker服务

systemctl restart docker

4.查看docker服务状态

systemctl status docker

5.开机自启动docker

systemctl enable docker

docker镜像相关命令

docker镜像命令如下几类:

1.查看镜像

docker images

2.搜索镜像

3.拉取镜像

4.删除镜像

image-20200321144847481

标签:sudo,概念,json,systemctl,yum,镜像,docker
来源: https://www.cnblogs.com/ryxiong-blog/p/12539339.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有