Ubuntu下安装配置Docker的教程详解
安装Docker
-
更新apt软件包:
sudo apt-get update
-
安装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 -
-
添加Docker的APT软件源:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
-
更新apt软件包:
sudo apt-get update
-
安装Docker:
sudo apt-get install docker-ce
-
启动Docker服务:
sudo systemctl start docker
-
验证Docker是否正确安装:
sudo docker run hello-world
如果看到以下提示,则表示Docker已经正确安装完成:
Hello from Docker!
This message shows that your installation appears to be working correctly.
配置Docker
1. 配置Docker镜像加速器
如果在中国境内使用Docker,一般需要配置Docker镜像加速器,以提高下载速度。可以使用阿里云、DaoCloud、网易云等Docker镜像加速器。
以阿里云镜像加速器为例,操作步骤如下:
-
登录阿里云容器镜像服务控制台,地址为: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
-
在控制台页面中,“镜像加速器”区块会显示加速器地址,类似于:https://xxx.mirror.aliyuncs.com
-
在终端或命令行中,执行以下命令,将加速器地址作为Docker镜像加速器:
sudo mkdir -p /etc/docker
echo '{ "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"] }' | sudo tee /etc/docker/daemon.json
sudo systemctl daemon-reload
sudo systemctl restart docker
2. 配置Docker用户组
在使用Docker时,如果不想每次都输入sudo命令,可以将当前用户加入Docker用户组。
操作步骤如下:
-
创建Docker用户组:
sudo groupadd docker
-
将当前用户加入Docker用户组:
sudo usermod -aG docker $USER
-
注销并重新登录,或执行以下命令:
newgrp docker
示例1:构建Docker Image
以下示例以构建一个Node.js的Docker镜像为例。
-
准备Dockerfile,例如:
FROM node:12
WORKDIR /app
COPY . .
RUN npm install
CMD ["npm", "start"] -
在当前目录下,执行以下命令,构建Docker镜像:
docker build -t mynodeapp .
其中,-t选项表示设置镜像名称为mynodeapp,.表示使用当前目录的Dockerfile来构建镜像。
-
构建完成后,查看已经构建的Docker镜像:
docker images
-
运行Docker镜像:
docker run -p 8080:3000 mynodeapp
其中,-p选项表示将容器的3000端口映射到本地的8080端口,以便在本地访问应用程序。
示例2:使用Docker Compose
Docker Compose是一个用于定义和运行Docker应用程序的工具,可以通过编写YAML文件来定义多个容器的服务。
以下示例将演示如何使用Docker Compose来运行一个MySQL和PHP应用程序。
- 准备docker-compose.yml文件,例如:
version: '3'
services:
db:
image: mysql
volumes:
- /my/own/datadir:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
php:
build: .
ports:
- "80:80"
volumes:
- .:/var/www/html
links:
- db:mysql
其中,services定义了db和php两个服务,db使用mysql官方镜像,并将MySQL数据目录映射到主机的/my/own/datadir目录,php使用当前目录的Dockerfile构建PHP镜像,并将容器的80端口映射到主机的80端口,同时将当前目录映射到容器的/var/www/html目录,最后通过links选项将db服务连接到php服务。
- 在当前目录下,执行以下命令,运行此应用程序:
docker-compose up
此命令将会自动创建和启动MySQL和PHP服务,可以使用浏览器访问localhost来访问这个PHP应用程序。
以上是Ubuntu下安装配置Docker的教程详解,包含了基本的Docker安装和配置方法,并演示了两个示例,一个用于构建Docker Image,另一个使用Docker Compose运行多个容器的服务。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ubuntu下安装配置Docker的教程详解 - Python技术站