欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker的使用(镜像,容器,Dockfile)

程序员文章站 2022-07-14 12:14:46
...

docker基本原理

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

docker在线安装

sudo yum install docker-ce

查看版本

docker -v

docker 离线安装

linux离线安装docker (18.03.1-ce)

启动

  • 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