Ubuntu安装并配置Docker

安装并配置docker

  1. 安装:

    • sudo snap install docker,不推荐这个办法,因为无法浏览/var/lib/docker,不能好好研究Docker的工作原理
    • curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun,使用官方脚本安装,推荐。
  2. 添加用户组,使用命令时无需使用sudo:

    1
    2
    3
    4
    5
    sudo groupadd docker                  # 添加docker用户组
    sudo gpasswd -a $wangtaocs docker # 检测当前用户是否已经在docker用户组中
    sudo gpasswd -a $USER docker # 将当前用户添加至docker用户组
    newgrp docker # 更新docker用户组
    sudo chmod a+rw /var/run/docker.sock # 增加docker用户组读写权限
  3. 如果启用了防火墙:

    1
    2
    3
    4
    sudo vim /etc/default/ufw             # 修改防火墙配置
    DEFAULT_FORWARD_POLICY="DROP" # 修改配置文件中的参数
    DEFAULT_FORWARD_POLICY="ACCEPT"
    sudo ufw reload # 重新加载防火墙

Docker入门

  1. 常用命令:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    docker info				   	# 显示系统范围信息
    docker run # 创建并运行容器
    docker create # 创建容器但不运行
    docker ps -a # 查看所有容器列表
    docker ps # 查看正在运行的容器列表
    docker start container # 启动名为container的容器
    docker start containerID # 启动ID为container_ID的容器
    docker attach container # 重新附着到该容器的会话上,如果其有一个会话
    docker logs container # 获取容器的日志
    docker top container # 查看容器中的进程
    docker stats container1 container2 # 查看一个或多个守护式容器的统计信息,快速监控主机上的一组容器
    docker exec # 在容器内部运行进程
    docker stop container # 停止守护进程
    docker inspect container # 显示容器的详细信息
    docker rm containerID # 删除ID为containerID的容器
  2. 没有删除全部容器的命令,可以巧用以下命令:

    1
    docker rm `sudo docker ps -a -q`

    上面的docker ps命令会列出现有的全部容器,-a标志代表列出所有容器,而-q标志则表示只需要返回容器的ID而不会返回容器的其他信息。这样我们就得到了容器ID的列表,并传给了docker rm命令,从而达到删除所有容器的目的。

使用Docker镜像和仓库

  1. 常用命令

    1
    docker pull					# 拉取镜像

实战部署一个mysql5.7容器

1
2
3
4
docker pull mysql:5.7			# 拉取镜像
docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 # 部署镜像
docker ps # 查看镜像运行情况
docker exec -it mysql5.7 bash # 运行一个bash与mysql交互

可在/etc/mysql/my.cnf编辑配置mysql的配置文件