docker - 安装和使用 docker, docker-compose 以及加速
访问量: 1362
参考: https://docs.docker.com/engine/install/ubuntu/
docker 给我的感觉是比虚拟机要小的东东,内置了各种环境. 跟11年左右的 heroku类似。但是比heroku的灵活性大很多。
可以认为docker是linux中的linux (给我的感觉很想 linux 系统中访问 USB连接的安卓机一样)
进一步有意思的描述,见这里:https://codefresh.io/docker-tutorial/move-heroku-docker/
docker ubuntu下的步骤:
2005 sudo apt-get update 2006 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common 2007 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 2008 sudo apt-key fingerprint 0EBFCD88 2009 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" 2010 sudo apt-get update 2011 sudo apt-get install docker-ce docker-ce-cli containerd.io (注意看下面才是安装 docker-compose ) 2012 sudo docker run hello-world 2013 docker run -it ubuntu bash
安装docker-compose:
1. 来到:https://github.com/docker/compose/releases 页面,找到对应的二进制文件下载
2. 把这个二进制文件扔到/usr/local/bin
3. chmod + x /usr/local/bin/docker-compose
即可。
加速(一定要使用,否则慢死):
1. 登录阿里云
2. 打开 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
3. 就可以得到你个人的mirror, 根据指引即可。
4. sudo vim /etc/docker/daemon.json ,内容为:
{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com", "https://2hvmvxxx.mirror.aliyuncs.com" ] }
5. 重启:
sudo systemctl daemon-reload
sudo systemctl restart docker
使用
看进程 $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8798d14e19fe imagetragick_apache "docker-php-entrypoi…" 16 minutes ago Up 15 minutes 0.0.0.0:80->80/tcp imagetragick_apache_1
看日志 $ docker logs <进程ID> ,可以跟上 -f, 或者 -t (显示大量的时间戳)
$ docker logs <进程ID> --tail 10 (看最后10行)
SSH进入:
$ docker exec -it <进程ID> /bin/bash
就可以使用几乎所有的linux命令来查看了(top, ps , df cat ... )
安装vim 和其他主要工具
$ apt-get update
$ apt-get install vim ( 或者 apt-get install vim-tiny , 这个占用的体积更小)
$ apt-get install iputils-ping net-tools 分别安装 ping, ifconfig
必须用sudo 才能运行docker?
参考: https://www.runoob.com/note/51562
docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
newgrp docker #更新用户组
docker ps #测试docker命令是否可以使用sudo正常使用
window的加速
