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
sudo service docker start
1.4 创建docker用户组
一般只能root和docker用户组用户才能访问docker的通讯功能,所以其他用户最好加入docker用户组
sudo groupadd docker
sudo usermod -aG docker
$USER
1.5 测试Docker是否正常
docker run hello-world
...
docker run -it ubuntu
bash
....
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"],
"data-root": "/path/for/docker-cache",
}
参考教程
2.2.2 重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
2.2.3 其他功能
docker system prune
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 \
--name container_name \
-p xx.yy.zz.vv:7777:8888 \
--dns
=aa.bb.cc.dd \
--dns
=ee.ff.gg.qq \
--dns-search
=xx.yy.com \
--shm-size
=16G \
--entrypoint /bin/bash \
--mount type
=bind,source
=/suource/path,target
=/target/path \
image_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