IceSandwich

Docker使用注意事项

docker折腾记

字数统计: 573阅读时长: 2 min
2019/12/15 Share

docker是一个开源的容器,通过它可以运行你的程序,而无需考虑环境的问题。

docker作用

关于docker的作用网上的争议还是挺多的,多数人认为没有必要。docker的主要作用是相当于一个虚拟机,运行着Linux系统,然后在里面运行镜像,但是这个镜像可以访问本机内容,也可以进行交互,端口访问等。这样解决了一个问题:Paas。

安装

windows 10家庭普通版因没有hyper-v无法使用docker for windows,可以使用docker toolbox代替,但是docker toolbox需要virtual box的支持。

打开virtual box可以看到docker为我们设置的default虚拟系统是Linux 64-bit的。

拉取镜像

拉取镜像由于网络的原因常常不成功,启动docker toolbox,执行下列命令[1][2]

1
2
3
4
docker-machine ssh default
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=http://f1361db2.m.daocloud.io |g" /var/lib/boot2docker/profile
exit
docker-machine restart default

注意:这会重启整个docker。

Ubuntu

拉取镜像,默认拉取的是ubuntu:l:

1
docker pull ubuntu

或者直接运行镜像,当镜像不存在时docker自动拉取:

1
docker run -i -t ubuntu /bin/bash

参数解析:

-t: 在新容器内指定一个伪终端或终端。

-i: 允许你对容器内的标准输入 (STDIN) 进行交互。

docker的任务管理器:

1
docker ps

更改apt源

进入Ubuntu后apt-get下载软件包非常慢,可以改用阿里云的镜像[3]

1
2
3
sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
apt-get clean
apt-get update

提交容器的修改

由于docker的规定,对容器的修改不会对镜像的数据进行修改,造成辛辛苦苦在镜像安装的软件重启容器后就没有了,因此要及时对容器的修改进行保存。实质上docker没有保存这一选项,只有像git那样的提交方法。

通过上面的docker ps得知ubuntu的docker ID为4100d696a596,则[4]

1
2
exit #退出容器
docker commit 4100d696a596 newName:v1.0

newName可以是任意合法的名字,而v1.0是版本号,这个也是自己设置就好。

查看提交的容器:

1
docker images

参考来源:


  1. https://www.daocloud.io/mirror#accelerator-doc

  2. http://guide.daocloud.io/dcs/daocloud-9153151.html#docker-toolbox

  3. https://www.jianshu.com/p/c1885cc192a6

  4. https://blog.csdn.net/bocai_xiaodaidai/article/details/92838004

CATALOG
  1. 1. docker作用
  2. 2. 安装
  3. 3. 拉取镜像
  4. 4. Ubuntu
  5. 5. 更改apt源
  6. 6. 提交容器的修改