CentOS安装docker
参考文档:
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
启动docker服务
systemctl start docker
将docker加入开机自启
systemctl enable docker
查看是否安装成功
docker version
配置阿里云镜像加速器
- 登录阿里云控制台
- 点击容器镜像服务
- 点击 镜像工具 -> 镜像加速器
- 选择适合自己的服务器版本
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
常用参数
-i:容器的标准输入保持打开
-t:让docker分配一个伪终端并绑定到容器的标准输入上
-p : 端口映射 格式为[主机端口:容器端口]
-d : 后台模式运行
-v:挂载主机的目录 格式为[主机路径:容器路径]
--name : 给容器的起一个名字
常用命令
容器 container
# 查询正在启动的容器
docker ps
# 查询所有容器
docker ps -a
# 启动新容器
docker run xxx
# 停止容器
docker stop 容器id
# 删除容器
docker rm 容器id
# 强制删除正在运行的容器
docker rm -f 容器id
# 删除所有容器
docker rm $(docker ps -aq)
# 进入容器
# exec 进入容器后开启一个新的终端
# attach 进入容器正在执行的终端,需要ctrl+p+q退出
docker exec -it 容器id /bin/bash
docker attach 容器id
# 将容器数据拷贝到主机
docker cp 容器id:路径 主机路径 # 例如 docker cp ff0:/usr/src/app/. /root/node-test
镜像 images
# 查询所有镜像
docker images
# 安装镜像
docker pull xxx
# 删除镜像
docker rmi xxx
# 构建镜像
docker build . -t <username>/docker-name
docker安装Mysql
docker pull mysqldocker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
docker安装mongoDB
docker pull mongodocker run -d -p 27017:27017 mongo# 密码启动docker run -d -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=root mongo
docker安装node
docker pull nodedocker run -it node /bin/bash
推送到远程仓库
DockerHub
- 注册
DockerHub
账号:https://hub.docker.com - 登录:
docker login -u username
- 推送:
docker push username/xxxx:[镜像版本号]
- 查看: https://hub.docker.com/repositories
阿里云
打开阿里云控制台
点击:容器镜像服务 -> 实例列表
- 创建命名空间
- 创建镜像仓库(仓库类型可选择私有,代码源选择本地仓库)
登录阿里云Docker Registry
docker login --username=username registry.cn-hangzhou.aliyuncs.com
从Registry中拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[镜像版本号]
将镜像推送到Registry
docker login --username=[用户名] registry.cn-hangzhou.aliyuncs.comdocker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[镜像版本号]docker push registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[镜像版本号]
push好慢啊,还得给镜像重命名,算了我还是用DockerHub
吧