准备环境
配置Docker的apt源
- 下载安装包,允许
apt
命令 HTTPS 访问 Docker 源。
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
- 添加 Docker 官方的 GPG
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
运行这条命令的时候我出现了如下报错:
分析这命指令,其本质就是下载gpg并添加key,故可将其分解为如下两条命令:
wget https://download.docker.com/linux/ubuntu/gpg
sudo apt-key add gpg
运行第一条命令的时候出现的新的报错:无法建立 SSL 连接。
解决这个报错的方法是在 wget
后面加 --no-check-certificate
。
运行成功。
- 将 Docker 的源添加到 /etc/apt/sources.list
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
安装 Docker
sudo apt-get update
sudo apt-get install docker-ce
- 检查是否安装成功
docker version
Docker 使用
运行容器
sudo docker run -d -p 80:80 httpd
- 在浏览器访问机器本地ip
可以看到如下界面:
- 在终端进入
root
模式,使用docker自带的hello-world镜像来进行测试
docker run hello-world
- 运行镜像
docker run -it ubuntu bash
- 进行简单的操作
查看镜像下的文件,退出镜像。
Docker 的部分基本操作
- 显示本地镜像库内容
docker images
- 显示容器
显示运行中的容器
docker ps
显示所有容器
docker ps -a
最后一列为容器名字。
- 运行第一个容器并进入(容器名字见上图最后一列)
docker restart blissful_kalam
docker ps
docker attach blissful_kalam
ls
exit
- 通过 -help 可以了解更多指令的使用
docker --help
(接上图)
Docker 与 MySQL
Docker 有时需要结合数据库进行使用,这里是Docker使用MySQL的一些操作。
- 拉取MySQL的镜像
docker pull mysql:5.7
docker images
- 构建docker镜像
mkdir mydock && cd mydock
vi dockerfile
在弹出的输入框中输入以下内容:
FROM ubuntu
ENTRYPOINT ["top", "-b"]
CMD ["-c"]
输入 :wq
保存并返回。
构建镜像:
docker build . -t hello
运行镜像
docker run -it --rm hello -H
- 使用MySQL容器
启动服务器并查看运行中的容器:
docker run -p 3306:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
docker ps
运行MySQL:
docker run -it --net host mysql:5.7 "sh"
这样就可以使用MySQL数据库了。操作完毕后输入 exit
即可退出。
容器监控与日志
- 检测docker的状态
docker info
docker info -format {{.ServerVersion}}
- 检测各个容器的信息
docker stats
- 查看容器内进程
查看全部容器信息,获取容器ID
docker ps -a
第一列即为容器的ID。
- 查看特定容器的详细信息
docker top CONTAINER
注:这里的 CONTAINER
是指容器ID,由上图第一列信息可得到。
docker inspect CONTAINER
- 查看容器日志
docker logs CONTAINER