docker related

有关docker。

安装
1
2
3
4
5
6
7
8
sudo apt-get update
sudo apt-get install -y docker.io
docker info #检查是否安装成功
docker run hello-world
systemctl status docker #查看docker服务是否启动
systemctl start docker #启动docker服务
systemctl enable docker #设置开机启动
错误解决:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied

原因用sudo安装,普通用户权限不足,可以查其文件夹,属组docker,所以把当前用户添加到docker group即可:

1
2
3
4
5
6
# 如果下述第二条命令报错提示没有docker group,则创建一个即可
sudo groupadd docker
# 将用户加入该 group 内
sudo gpasswd -a ${USER} docker
sudo service docker restart
newgrp - docker #必须

newgrp指令类似login指令,当它是以相同的帐号,另一个群组名称,再次登入系统。欲使用newgrp指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组。单一用户要同时隶属多个群组,需利用交替用户的设置。若不指定群组名称,则newgrp指令会登入该用户名称的预设群组。

常用命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
docker -h 帮助
docker pull NAME[:TAG] #获取镜像
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] #启动container
docker ps #查看正在运行的容器
docker ps -a #Show all containers (default shows just running)
docker images #查看镜像列表
docker stop $CONTAINER_ID #停止docker容器
docker start $CONTAINER_ID #启动docker容器
docker restart $CONTAINER_ID #重启docker容器
docker kill $CONTAINER_ID #强制关闭docker容器
docker logs $CONTAINER_ID #查看docker容器运行日志,确保正常运行
docker inspect $CONTAINER_ID #查看container的属性,比如ip等等
docker rm $CONTAINER_ID #删除容器
docker rmi IMAGE [IMAGE...] #删除镜像
docker中国官方的镜像源

/etc/docker/daemon.json

1
2
3
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

service docker restart重启docker使得配置生效,可以通过docker info确认。

参考:

Docker的安装和测试使用
免sudo使用docker命令