Ubuntu16部署Docker实用教程

it2023-02-03  47

Ubuntu16部署Docker实用教程

文章目录

Ubuntu16部署Docker实用教程1 安装Docker1.1.1 准备工具1.1.2 准备源1.2.1 安装Docker CE(直接安装)1.2.2 安装Docker CE(脚本安装)1.3 启动Docker CE1.4 创建docker用户组1.5 测试Docker是否正常 2 配置Docker2.1 查看Docker系统配置信息2.2.1 配置daemon.json2.2.2 重启服务2.2.3 其他功能 3 使用Docker3.1 登录远程仓库3.2 镜像操作3.3 容器操作 4 常见问题处理4.1 docker permission denied4.2 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock4.3 docker vim不全

1 安装Docker

本方案采用的是APT安装方法

1.1.1 准备工具

sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

1.1.2 准备源

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg |sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

1.2.1 安装Docker CE(直接安装)

sudo apt-get update sudo apt-get install docker-ce

1.2.2 安装Docker CE(脚本安装)

curl -fsSL get.docker.com -o get-docker.sh sudo sh get-docker.sh --mirror Aliyun

1.3 启动Docker CE

sudo systemctl enable docker sudo systemctl start docker ####ubuntu14.04采用以下命令实现 sudo service docker start

1.4 创建docker用户组

一般只能root和docker用户组用户才能访问docker的通讯功能,所以其他用户最好加入docker用户组

# 添加用户组docker,已有的可能会失败,不影响 sudo groupadd docker # 向用户组docker中添加用户,$USER表示当前用户,其他用户直接输入用户名如zhangsan sudo usermod -aG docker $USER

1.5 测试Docker是否正常

docker run hello-world ... #此处是一些响应信息, 出现Hello from Docker!说明成功了 docker run -it ubuntu bash ....#此处是响应信息,顺利的话就可以进入到ubuntu的容器中

2 配置Docker

2.1 查看Docker系统配置信息

docker info

2.2.1 配置daemon.json

ubuntu16的docker配置文件主要在/etc/docker/daemon.json文件中(ubuntu14是在/etc/default/docker 中配置的)如果不存在可自行创建此文件。

{ "insecure-registries": ["111.xxx.com", "222.yyy.com"], #对于不支持https协议的镜像服务仓(registry)可在此处声明 "data-root": "/path/for/docker-cache", #Docker运行时使用的根路径,根路径下的内容稍后介绍,默认/var/lib/docker }

参考教程

2.2.2 重启服务

sudo systemctl daemon-reload sudo systemctl restart docker

2.2.3 其他功能

#清理缓存 docker system prune #验证docker是否正常 docker run hello-world

3 使用Docker

3.1 登录远程仓库

sudo docker login xxx.xxx.com

3.2 镜像操作

#查看镜像 docker image ls #拉取镜像 docker pull [OPTIONS] NAME[:TAG|@DIGEST] docker pull path/of/registry:[tag_name] #查询镜像 docker search xxx 删除镜像参考删除镜像参考2删除远程仓库镜像 #删除镜像(本地) docker image rm --help #删除tag是本质 docker image rmi --help #删除tag是本质

3.3 容器操作

#启动全新容器 docker run -itd \ #i:交互、t:tty、d:后台 --name container_name \ #启动后容器名称 -p xx.yy.zz.vv:7777:8888 \ #IP+端口映射 #-p 8080:80/tcp -p 8080:80/udp \ #端口+服务映射 --dns=aa.bb.cc.dd \ #dnsIP配置 --dns=ee.ff.gg.qq \ #dnsIP配置 --dns-search=xx.yy.com \ #dns域名配置 --shm-size=16G \ #内存分配 --entrypoint /bin/bash \ #入口shell程序 --mount type=bind,source=/suource/path,target=/target/path \ #存储映射 image_id \ #使用的镜像ID command #启动的具体命令,可不写 #启动全新容器或者进入已存在容器 docker exec -it [container_name/container_id] /bin/bash -c "inner bash command" #进入容器 docker attach -it ... #停止容器 docker stop container_name #停止容器 docker container prune -f #清理容器 #批量停止 docker ps -a | awk '{print $1}'|xargs docker stop #批量删除 docker ps -a | awk '{print $1}'|xargs docker rm

4 常见问题处理

4.1 docker permission denied

添加用户到docker用户组

sudo cat /etc/group | grep docker sudo usermod -aG docker xxxx(用户名) sudo systemctl restart docker

4.2 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

参考此链接

解法同4.1

4.3 docker vim不全

docker exec -it --env COLUMNS=`tput cols` --env LINES=`tput lines` ${CONTAINER_NAME} /bin/bash
最新回复(0)