安装和卸载docker

卸载原有的旧版本

sudo apt-get remove docker docker-engine docker.io

从docker官网获取安装脚本安装

curl -fsSL get.docker.com -o get-docker.sh && sudo sh get-docker.sh

切换使用国内镜像源

国内镜像源

切换方法

  1. 编辑配置文件
    没有/etc/docker文件夹就创建,没有daemon.json文件也创建。
    sudo vim /etc/docker/daemon.json
    
  2. 复制以下内容写入文件daemon.json
    {
     	"registry-mirrors": ["https://registry.docker-cn.com"]
    }
    
  3. 重启docker生效
    sudo systemctl restart docker
    

运行Hello world测试是否安装

sudo docker run hello-world

安装docker-compose

下载二进制文件

以下连接二选一即可,推荐使用daocloud下载:

  1. Github下载:
    sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    
  2. 国内daocloud下载:
    sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    

添加执行权限

sudo chmod +x /usr/local/bin/docker-compose

测试是否可运行

docker-compose --version

返回docker-compose version 1.25.1, build a82fef07即正常运行,当然版本信息可能不一样。


新建Linux用户和增加到docker用户组

新建用户

新建一个用户名为aaa的用户,-m:自动建立用户的登入目录。

sudo useradd -m aaa

修改用户密码

sudo passwd aaa

设置命令终端

这里我修改为我常用的bash,sh用不习惯。

sudo vim /etc/passwd

passwd内容

用户增加到docker用户组

修改后退出此用户重新登录生效。

sudo usermod -aG docker aaa

如果用户没有加入到docker用户组,在运行容器的时候会出现错误提示Could not connect to Docker daemon at http+docker://localhost - is it running?


docker-compose配置文件yml编辑


解决容器里访问docker映射主机的文件出现Permission denied.

这里是真的坑,网上的说法很多,什么selinux用户权限加参数等等,而我解决这个问题很简单:
在启动docker compose之前先创建好data文件夹,我这里的data文件夹是映射到容器里面的路径,并更改权限。
注意:启动之后由docker创建的目录需要把子目录的权限也更改。

sudo chmod -R 777 data
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐