Docker环境搭建与使用
2018-10-26笔记Docker中的容器,可以看作是将程序 + 运行环境的打包后的新程序。这时候,你就不用关心你的程序的运行环境了,因为容器里面的环境就是你当时开发环境的一个拷贝。
Docker环境搭建 我是Ubuntu16.04(64位),先在终端执行
lsb_release -cs
(我的输出结果是xenial),访问下载地址,依次选择xenial/pool/stable/amd64/
,选择要下载的版本,复制链接地址,$ wget https://download.docker.com/linux/ubuntu/dists/$(lsb_release -cs)/pool/stable/amd64/docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb
$ dpkg -i docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb
$ sudo usermod -aG docker $USER #将用户加入docker组,避免每次都要sudo
重启终端,不然还是需要
sudo
$ docker run hello-world
![Docker环境搭建与使用](https://img.it610.com/image/info10/a6509ced17134abdacadeeeb616d9a99.jpg)
文章图片
docker-hello-world.png 注:可能会保存因为依赖包没有安装,根据错误信息安装即可
添加镜像源 【Docker环境搭建与使用】主要是加速作用,不然可能有时候会卡半天。
$ sudo vi /etc/docker/daemon.json
$ sudo cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] #国内镜像源
}
$ sudo systemctl enable docker#设置开机启动
$ sudo systemctl daemon-reload#重新加载配置
$ sudo systemctl restart docker#重启docker
docker-compose 这个Python程序可以方便地管理多个Docker实例组成的分布式服务。
$ sudo apt install python3-pip
$ sudo pip3 install docker-compose
Docker简单使用 运行容器
$ docker run hello-world
- 这个命令首先会检查本地是否有
hello-world
容器 - 如果没有就通过
image
创建,其中image
就是容器的模板(一个二进制文件),docker run image_name
,实际上就是创建一个image
实例,最后容器也就是一个文件。(也就是说,image
就像相当于类,容器
相当于类实例) - 如果本地没有
image
就从docker的仓库下载下来 - 创建一个新的容器,并且启动容器
$ docker container ls#列出运行中的容器
$ docker container ls -all #列出全部容器
![Docker环境搭建与使用](https://img.it610.com/image/info10/af20f7f4e1f64f0dadd02d27b1e84d1d.jpg)
文章图片
docker-containers.png
第一个字段是
ID
,用来标识容器实例,因为一个
image
可以生成多个容器。
结束容器运行
$ docker container kill $Container_ID #强行结束运行中的容器,这个主要用来针对作为服务运行的容器
删除容器 容器在结束运行后,一般不会自动删除,除非
image
中进行了配置,或者在run
的使用使用了-rm
。那么删除容器的命令是:$ docker container rm $Container_ID
清理命令 docker 1.13开始 的清理命令
$ docker container prune -f#删除所有停止容器
$ docker image prune -f -a#删除所有镜像
删除none镜像 none 镜像是一些没有成功
build
的临时镜像,删掉即可。$ docker rmi $(docker images -f "dangling=true" -q)
Docker还有很多强大功能,暂时我也只用到这几个而已了。
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 人生感悟记#环境仪器宋庆国成长记#072
- 六步搭建ES6语法环境
- iOS,打Framework静态库
- docker镜像探索----dive工具
- (1)redis集群原理及搭建与使用(1)
- 桁架搭建有什么价值()
- VM|VM ware 的 harbor 私有仓库搭建 (Ubuntu16.04)
- PHP开发-Mac搭建ThinkPHP5.0
- win10环境|win10环境 python3.6安装pycrypto-2.6.1的问题