我的docker日记

590 阅读2分钟

centos7

安装dokcer

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

 sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

当然,你也可以直接下载docker的yum源,然后放在 /etc/yum.repos.d文件夹下。(这里使用的是阿里镜像源,docker官方的太太太慢了)

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
mv docker-ce.repo /etc/yum.repos.d
yum install -y docker-ce

安装docker

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

Docker镜像加速

我这里使用的是阿里云的容器加速服务,上链接:cr.console.aliyun.com/cn-hangzhou…

阿里云会为每个用户分配一个加速地址,然后由于我的文章写也只有我自己看,我就不打码了,给自己做份记录。

配置加速器

/etc目录下创建一个docker文件夹,然后配置 daemon.json。重启docker,然后加速成功!

vim /etc/docker/daemon.json

{
 "registry-mirrors": ["https://5kpn7zu8.mirror.aliyuncs.com"]
}

sudo systemctl daemon-reload

sudo systemctl restart docker

现在测试一下加速后的拉取速度。

速度不算太快,但是2mb的速度已经足够挥霍了。

常用命令

搜索镜像: docker search [镜像名]

拉取镜像: docker pull [镜像名]
显示本地已有镜像:docker image

复制本地文件到容器: docker cp [本地路径] [容器名:路径]

docker run [images]

运行hello world 镜像:

docker run [image] [命令]

端口映射(将容器里面的端口8080映射到物理机8000上面)

docker run --publish 8000:8080 【image】

给容器指定一个name,在后面的操作可以通过这个name来引用容器。

docker run --name [name] [image]

例如: docker run -p 8000:8080 --name bulletinboard bulletinboard:1.0

后台运行容器

docker run --detch [image]

例如: docker run -d -p 8000:8080 --name bulletinboard bulletinboard:1.0

运行结果

docker执行命令: docker exec [容器名] [运行命令]

进入bulletinboard容器

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

  • -i :开启了input(输入)功能
  • -t :开启了一个连接容器里边的terminal(终端)

查看当前运行的容器:docker ps

查看所有容器:docker ps -a

定制属于自己的image

docker commit(从容器创建)

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
  • -a :提交的镜像作者;

  • -c :使用Dockerfile指令来创建镜像;

  • -m :提交时的说明文字;

  • -p :在commit时,将容器暂停。

通过centos image创建容器,下载wget,然后commit新镜像。

docker build(通过dockerfile创建)

编辑dockerfile文件

docker build -t [image:tag] .

参考:docs.docker.com/get-started…