天天看点

Docker的离线安装,在线安装,基本使用(镜像,容器,Dockfile)

docker基本原理

https://www.jianshu.com/p/99cd35757c1a

docker在线安装

sudo yum install docker-ce

查看版本

docker -v

docker 离线安装

linux离线安装docker (18.03.1-ce)

链接:https://pan.baidu.com/s/1bhvqAnubUQs79FqS3QEuLA

密码:6ni5

启动

  • systemctl docker start
  • systemctl docker restart
  • systemctl docker stop

镜像

搜索镜像:

docker search [镜像名]

如:docker search centos

拉取镜像

docker pull [镜像名]

上传自己镜像至https://hub.docker.com/

1、将本地先在 https://hub.docker.com/ 网站注册用户,比如 lishengping;

2、将本地镜像命名至格式:lishengping/镜像名 比如lishengping/my_images

3、登陆:sudo docker login 根据提示输入用户名和密码(用户名和密码为刚刚注册的)

4、sudo docker push lishengping/my_images.

PS: 一定要在镜像的名称前加上自己用户名作为前缀,不然会报 “denied: requested access to the resource is denied” 错误

例子:从hub.docker.com拉取自己的docker镜像

docker pull lishengping/stress:v1

查看镜像

docker images

删除镜像

docker rmi [镜像名|镜像id]

镜像保存至本地

docker save [镜像名|镜像id] > 【保存的路径】

docker save -o 【保存的路径】 [镜像名|镜像id]

docker export -o 【镜像名.tar】 [镜像名|镜像id]

从本地加载镜像

docker load --input 【镜像名.tar】

docker load < 【镜像名.tar】

docker load -i 【镜像名.tar】

docker import 【镜像名.tar】 [镜像名|镜像id]:tag

创建镜像

基于容器创建镜像

docker commit -m ‘创建信息’ 容器名|容器id 镜像名称:镜像标签

基于Dockerfile创建镜像

Dockerfile:

# Author: Lisen
# MANTINTAINER Lisen
# Base images
FROM centos
# ADD 会自动解压 tar 等压缩文件
ADD docker_test.tar /
# COPY 正常的复制,不解压
COPY docker_test.tar /
# RUN
RUN yum makecache
RUN yum install -y wget
RUN yum install -y vim && yum clean all
# WORKDIR 指定命令运行的路径
WORKDIR /docker_test
#CMD ["python", "--version"]
NTRYPOINT ["echo", "Hello"]
           

配置镜像 pull 加速器

daocloud加速

先在 www.daoclooud.io 注册,然后首页点击加速器,可以从页面获取Linux和macos加速方法

linux:

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

执行: cat /etc/docker/daemon.json 会发现在文件中出现了http://f1361db2.m.daocloud.io

macos:

点击docker图标 -> prefeneces -> Daemon -> Registry-mirrors -> 添加 http://f1361db2.m.daocloud.io

阿里云加速

{

“registry-mirrors”: [“https://72idtxd8.mirror.aliyuncs.com”]

}

配置文件

centos

参数配置:/etc/default/dockers

服务配置: /lib/systemd/system/docker.service centos

ubuntu

配置参数:/etc/sysconfig/docker

服务配置:vim /lib/systemd/system/docker.service

查看镜像的创建过程:docker history

容器

创建容器:

docker run -it -d --rm --name regulation_0801 -v /Users/Lisen/Documents/docker_volumns:/volumns -p 18010:8000 -p 18011:8001 fujian_regulation_0712 /bin/bash -c “while true;do echo hello world;sleep 1;done”

-v:卷映射

–volume:卷映射

-p:指定端口映射

-P:端口随机映射

–name:容器名称

-i: 以交互模式运行容器,通常与 -t 同时使用

-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用

-d:后台运行

–rm:容器退出自动删除容器

其他参数:

/bin/bash : 启动容器时运行的命令

–cpuset==0 : 指定0号cpu

–cpu 1 : 指定cpu可使用的数量

-m : 指定容器最大可使用内存

-h: 容器的主机名

查看容器的运行情况

docker stats:

查看容器

1、查看所有容器,包括停止的容器

docker ps

2、查看运行中的容器

docker ps -a

3、查看最后创建的一个容器

docker ps -a

查看容器端口

docker port [容器名|容器id]

开始容器

1、开启容器但不进入容器

docker start [容器名|容器id]

2、开启容器同时进入容器

docker start -i [容器名|容器id]

进入容器

1、进入容器,但是和别人共享一个界面

docker attach [容器名|容器id]

2、进入容器,独享一个界面

docker exec -it [容器名|容器id] /bin/bash

停止容器:

1、退出容器不停止

ctrl+P ctrl+Q

2、停止容器

docker stop [容器名|容器id]

3、快速结束容器

docker kill [容器名|容器id]

日志功能

docker logs [容器名|容器id]

参数:

-f :表示 log 打印输出

-t :表示把输出时间也打印

–tail all 表示输出所有行

–tail 10 表示输出最后 10 行 my_docker 表示容器名或者 id