Docker


1.1使用脚本自动安装

curl -sSL https://get.docker.com/ | sh

阿里云的安装脚本

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh

DaoCloud 的安装脚本

curl -sSL https://get.daocloud.io/docker | sh

1.2.启动 Docker 引擎

sudo service docker start

1.3.建立 docker 用户组

建立 docker 组:

$ sudo groupadd docker

将当前用户加入 docker 组:

$ sudo usermod -aG docker $USER

1.4.NVIDIA Docker

# Install nvidia-docker and nvidia-docker-plugin
wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb
sudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmpvidia-docker*.deb

1.5 Docker-enter 命令

cd /tmp; curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz | tar -zxf-; cd util-linux-2.24;
./configure --without-ncurses
make nsenter && sudo cp nsenter /usr/local/bin


wget https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-2.29.tar.xz; tar xJvf util-linux-2.29.tar.xz
cd util-linux-2.29
./configure --without-ncurses && make nsenter
sudo cp nsenter /usr/local/bin

更简单的,建议大家下载 .bashrc_docker 并将内容放到 .bashrc 中

wget -P ~ https://github.com/yeasy/docker_practice/raw/master/_local/.bashrc_docker;
echo "[ -f ~/.bashrc_docker ] && . ~/.bashrc_docker" >> ~/.bashrc; source ~/.bashrc

docker-pid可以获取某个容器的 PID;而

docker-enter可以进入容器或直接在容器内执行命令。

$ echo $(docker-pid <container>)
$ docker-enter <container> ls

1.6 Compose

sudo pip install -U docker-compose

默认的模板文件名称为 docker-compose.yml,格式为 YAML 格式。

version: "2"
services:
  webapp:
    image:
 examples/web

    ports:
      -
"80:80"
    volumes:
      -
"/data"

注意每个服务都必须通过 image 指令指定镜像或 build 指令(需要 Dockerfile)等来自动构建生成镜像。

如果使用 build 指令,在 Dockerfile 中设置的选项(例如:CMD, EXPOSE, VOLUME, ENV 等) 将会自动被获取,无需在 docker-compose.yml 中再次设置。

1.7 docker user group

#新建用户组,存在则跳过
sudo cat /etc/group | docker
sudo groupadd -g 999 docker
#在用户组增加当前用户
sudo gpasswd -a ${USER} docker
重启
sudo service docker restart
切换到当前用户,或者重启x
newgrp -docker
or
pkill X

results matching ""

    No results matching ""