docker安装使用系列一之docker不同系统间安装与使用

     Docker 作为一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。下面就简单的介绍一下安装和使用吧。

一、安装与配置加速项

更新软件包索引,并且安装必要的依赖软件

sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

添加 GPG 密钥,并添加 Docker-ce 软件源

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -


sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

安装 Docker-ce

sudo apt-get update
sudo apt-get install docker-ce
sudo docker images  ###test
uname -a    ###查看内核版本
yum update   ###yum升级到最新

yum install -y yum-utils device-mapper-persistent-data lvm2  ###安装需要的软件包

####设置yum源
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)

####查看仓库中的docker版本信息
yum list docker-ce --showduplicates | sort -r

####选择安装合适的docker版本,比如
yum install docker-ce-18.03.1.ce

####启动docker
systemctl start docker
systemctl enable  docker

》添加docker国内加速源

Docker中国官方镜像加速

--registry-mirror=https://registry.docker-cn.com

网易163镜像加速

--registry-mirror=http://hub-mirror.c.163.com

中科大镜像加速

--registry-mirror=https://docker.mirrors.ustc.edu.cn

阿里云镜像加速

--registry-mirror=https://{your_id}.mirror.aliyuncs.com

daocloud镜像加速

--registry-mirror=http://{your_id}.m.daocloud.io

具体步骤如下,可参考https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6

sudo mkdir -p /etc/docker  ###创建文件夹

sudo vi /etc/docker/daemon.json   

###添加加速
{
   "registry-mirrors":[
        "registry-mirrors": [
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
   ]
}

###修改完地址后,重新加载配置文件,重启docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

结果如下

       推荐直接通过官网安装docker toolbox,下载链接:Redirecting…,傻瓜式安装后在桌面上会生成三个快捷方式,启动:

(如果遇到下载问题,手动下载)

下载后放到指定位置(Windows下放在其他位置无法识别):

安装完成后,运行出现下面界面即表示安装成功:

》添加加速源

添加的镜像源很多,可以参考centos下的配置情况,这里简单介绍一下怎么配置常见的阿里云镜像,首先在阿里云官网上注册一个账号,然后进入镜像容器服务,获得加速器地址

再通过如下命令进行配置,

docker-machine ssh default 
sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=你的加速器地址|g" /var/lib/boot2docker/profile 
exit 
docker-machine restart default

最后可以通过docker info来查看是否配置成功

二、简单使用

(1)对于镜像的基本操作,

docker images   ###查看存在的镜像数

docker ps   ###查看运行中的容器   docker ps -a 显示所有容器,包括未运行的

docker start id:启动一个或多个已经被停止的容器

docker stop id:停止一个运行中的容器,参数 -t:关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态

docker kill 容器ID或容器名 :直接关闭容器

docker rm -f $(docker ps -aq)  ###删除所有容器

docker rmi -f $(docker images -aq) ###删除所有镜像

docker restart id:重启容器,不管容器是否启动,直接重启容器

docker run -it 镜像:根据镜像创建一个容器并运行一个命令,操作的对象是镜像;

docker exec -it 容器ip /bin/bash:在运行的容器中执行命令,操作的对象是 容器。

docker cp 本地文件 容器ip:/位置  ###通过git bash上传文件到指定容器中

docker commit -a "ys" -m "my apache" 容器id  镜像名字:版本 ###一般是基于原始pull版本,进行优化后打包生成新的镜像

需要补充的一句就是运行镜像环境后,如果想安装其他的包,可以用pip install xxx -i Simple Index

需要说明的一句就是,利用上面方式安装opencv后,在导入包时会出现ImportError: libGL.so.1: cannot open shared object file: No such file or directory等错误,这是因为docker给你配置的是一个简易的python环境,通过下面指令即可修复

apt-get update
apt install libgl1-mesa-glx
apt-get install ffmpeg libsm6 libxext6

(2)镜像上传到阿里云docker仓库上

首先在主页上新建一个仓库,绑定github中某个仓库或者本地文件,根据个人需求决定,这个仓库镜像就像是一个app,可以不断的更新它的版本),那么所有测试镜像可以推送到这里,以后作专门的其他镜像可以再申请其他的镜像仓库(比如作Tomcat时,单独申请一个镜像仓库tomcat,作redis时再申请一个redis的仓库,依次类推。

接下来点击仓库详情,这里会有简单的教程告诉你怎么上传镜像到仓库,

####推送镜像到Registry仓库
sudo docker login --username=xx@163.com registry.cn-hangzhou.aliyuncs.com
sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/tf_1/test:[镜像版本号]
sudo docker push registry.cn-hangzhou.aliyuncs.com/tf_1/test:[镜像版本号]

####从Registry仓库中拉取镜像
sudo docker pull registry.cn-hangzhou.aliyuncs.com/tf_1/test:[镜像版本号]

 至于怎么将本地项目分装成一个docker镜像则需要通过编写dockerfile来实现,这个就放在下一篇博文吧!


>>添加当前用户到 docker 用户组,可以不用 sudo 运行 docker

将当前用户添加到 docker 组

sudo gpasswd -a ${USER} docker

重新登录或者用以下命令切换到docker组

newgrp - docker

重启docker服务

sudo service docker restart

不加sudo直接执行docker命令检查效果

docker images

参考链接:

1、Docker 容器更新,打包,上传到阿里云 - 手撕高达的村长 - 博客园

2、python项目代码打包成Docker镜像 - sammy1989 - 博客园

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值