1 安装
- 安装命令
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
- 解决安装速度慢
创建sudo vim /etc/docker/daemon.json
并添加:{ "registry-mirrors" : [ "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com", "https://cr.console.aliyun.com/" ] }
systemctl daemon-reload # 镜像生效 systemctl restart docker # 重启docker
- 添加权限
安装后会自动创建 docker 用户组,需要用 root 权限才能运行,可以把用户加入 docker 用户组:sudo usermod -a -G docker tanrui # 给 tanrui 用户添加次要组 docker newgrp docker # 更新 docker 用户组
2 使用
-
创建容器
docker run -it ubuntu:18.04 /bin/bash # 注意:如果本地没有该镜像,会自动下载,或者先单独下载: # docker pull ubuntu:18.04
同时映射端口、挂载目录:
docker run \ -itd \ -p 9980:80 \ -p 9922:22 \ -v /home/tanrui/gitlab-server/config:/etc/gitlab \ -v /home/tanrui/gitlab-server/logs:/var/log/gitlab \ -v /home/tanrui/gitlab-server/data:/var/opt/gitlab \ --restart always \ --privileged=true \ --name gitlab3 \ gitlab/gitlab-ce:latest
-
后台运行:(-d参数)
docker run -d ubuntu:18.04 /bin/bash -c "while true; do echo hello world; sleep 1; done"
-
查看运行的 docker:
docker ps docker ps -a # 查看所有的容器(包括退出了的)
-
查看容器的log:
docker logs xxxx(容器id) docker logs -f xxxx(容器id) # 类似于 tail -f
-
停止容器:
docker stop xxxx
-
启动容器
docker start xxxx
-
进入后台运行的容器:
docker attach xxxx # 进入容器后用 exit 退出时,容器会 stop docker exec -it xxxx /bin/bash # 进入容器后用 exit 退出时,容器不会 stop
-
查看本地镜像:
docker images
-
删除本地镜像:
docker rmi xxxx(镜像ID) docker rmi xxxx -f # 如果镜像有对应的容器,-f 可以强制删除
-
删除容器:
docker rm -f xxxx
-
容器内有更新,可以提交该容器为新的镜像:
docker commit -m="update..." -a="tnrui" xxxx ubuntu:v2
3 导入导出
- 容器
# 导出 容器 为 镜像 docker export 7h9tfd02356c > gitlab_server.tar # 导入 export 出来的镜像 docker import - new_gitlab_server < gitlab_server.tar
- 镜像
# 导出本地镜像 docker save [镜像名] > gitlab_server.tar # 载入镜像 docker load < gitlab_server.tar