安装
sudo apt install docker-ce
systemctl start docker
centos 安装
# 增加源
# 国内 阿里云
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 官方
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装
sudo yum -y install docker-ce
# 启动
sudo systemctl enable docker
sudo systemctl start docker
增加国内镜像仓库地址
{
“registry-mirrors”: [“https://9cpn8tt6.mirror.aliyuncs.com”]
}
[root@localhost ~]# cd /etc/docker
[root@localhost ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]
}
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
镜像命令
| docker version | docker 版本 | |
| docker images | 显示镜像 | |
| docker ps -a | 显示所有容器 | |
| docker pull ubuntu | 获取一个镜像,比如ubuntu | |
| sudo docker pull dl.dockerpool.com:5000/ubuntu | 从第三方仓库下载 | |
| docker push ubuntu | 上传镜像到仓库 | |
| docker image rm 镜像名字 | 删除镜像 |
容器命令
| docker inspect 容器名称 | 查看容器情况 | |
| sudo docker ps -a | 查看全部容器 | |
| docker ps -aq | 列出所有容器 ID |
run 参数
docker run -it
-p 80:80
-p 3306:3306
-v lamp_www:/var/www
-v lamp_apache_conf:/etc/apache2
-v lamp_mysql_conf:/etc/mysql
-v lamp_mysql_data:/var/lib/mysql
--name lamp linode/lamp /bin/bash
# 解释:
# docker run:运行一个container,如果后面要绑定宿主主机的0-1024端口需要使用sudo
# -p port1:port2: 将宿主机的端口port1映射到容器中的port2
# -v volume:path: 将宿主机的docker卷映射到容器中的指定的路径
# -t -i linode/lamp /bin/bash:使用linode/lamp生成容器,并打开shell
| -name | |
| -p | |
| -a stdin | 指定标准输入输出内容类型:TDIN/STDOUT/STDERR |
| -d | 后台运行容器,并返回容器ID; |
| -i | 以交互模式运行容器,通常与 -t 同时使用; |
| -P | 随机端口映射,容器内部端口随机映射到主机的端口 |
| -p | 指定端口映射,格式为:主机(宿主)端口:容器端口 |
| -t | 为容器重新分配一个伪输入终端,通常与 -i 同时使用; |
| –name=”nginx-lb” | 为容器指定一个名称 |
| –dns 8.8.8.8 | 指定容器使用的DNS服务器,默认和宿主一致; |
| –dns-search example.com | 指定容器DNS搜索域名,默认和宿主一致; |
| -h “mars” | 指定容器的hostname |
| -e username=”ritchie” | 设置环境变量 |
| –env-file=[] | 从指定文件读入环境变量 |
| –cpuset=”0-2″ or –cpuset=”0,1,2″ | 绑定容器到指定CPU运行 |
| -m | 设置容器使用内存最大值 |
| –net=”bridge” | 指定容器的网络连接类型,支持 bridge/host/none/container:<name|id> 四种类型; |
| –link=[] | 添加链接到另一个容器; |
| –expose=[] | 开放一个端口或一组端口; |
| –volume , -v | 绑定一个卷 |