docker安装和初步的使用
安装
使用官方的安装命令:
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
If you would like to use Docker as a non-root user, you should now consider adding your user to the “docker” group with something like:
就是说不是root的用户可能出现权限问题:Got permission denied while trying to connect to the Docker daemon socket...
用下面这条语句就可以,然后在重新登录就可以了。
sudo usermod -aG docker your-user
如果使用方便脚本安装Docker,则应该直接使用包管理器升级Docker。重新运行方便脚本没有任何好处,如果试图重新添加已经添加到主机的存储库,则可能会导致问题。
测试安装成功
docker run hello-world 如果出现相应的log就说明安装成功了。
镜像操作
1. 查看docker镜像:docker images
2. 查找docker镜像:docker search 镜像名
3. 获取docker镜像:docker pull 镜像名:版本 可运行不同版本镜像
4. 提交容器副本:docker commit -m 描述信息 -a 镜像作者 容器id 要创建的目标镜像名
5. 使用文件构建docker镜像: docker build -t 目标镜像名 -f 文件所在目录 镜像存放目录
6. 镜像删除:docker rmi -f 强制删除镜像
容器操作
1. Docker启动:systemctl start docker
2. Docker关闭:systemctl stop docker
3. 查看正在运行的容器:docker ps -a 列出所有容器
4. 根据镜像创建容器:docker create images_id --name 容器名
5. 运行容器:docker run -d -p 容器端口:主机端口 镜像或者容器名 -d 容器在后台运行 -p 将容器网络端口映射到主机 -v 主机目录:容器目录(将主机的目录挂载到容器的目录) -w 指定容器工作目录
6. 查看端口映射情况:docker port 容器名
7. 查看容器日志: docker logs -f 容器id -f 类似与tail -f 可以标准输出
8. 查看容器进程:docker top 容器名
9. 删除容器:docker rm 容器名
10. 进入容器:docker attach 容器id
容器连接
连接容器可以通过端口映射和docker的自带的连接系统,自带的连接系统会将多个容器连接在一起,共享连接信息,且会构成一个父子关系,父容器可查看子容器信息
1. 创建并运行容器:docker run -d -P 容器名 -P 容器端口随机映射到主机的高端口 -p 绑定到指定端口
2. 绑定到网络地址:如 docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py 默认绑定tcp端口
3. 绑定UDP端口:docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
4. 命名容器:docker -d -p --name