CentOS安装docker
参考文档:
1 2 3
| 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服务
将docker加入开机自启
查看是否安装成功
配置阿里云镜像加速器
- 登录阿里云控制台
- 点击容器镜像服务
- 点击 镜像工具 -> 镜像加速器
- 选择适合自己的服务器版本
1 2 3 4 5 6 7 8
| 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
|
常用参数
1 2 3 4 5 6
| -i:容器的标准输入保持打开 -t:让docker分配一个伪终端并绑定到容器的标准输入上 -p : 端口映射 格式为[主机端口:容器端口] -d : 后台模式运行 -v:挂载主机的目录 格式为[主机路径:容器路径] --name : 给容器的起一个名字
|
常用命令
容器 container
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| # 查询正在启动的容器 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
1 2 3 4 5 6 7 8
| # 查询所有镜像 docker images # 安装镜像 docker pull xxx # 删除镜像 docker rmi xxx # 构建镜像 docker build . -t <username>/docker-name
|
docker安装Mysql
1 2
| docker pull mysql docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
|
docker安装mongoDB
1 2 3 4
| docker pull mongo docker 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
1 2
| docker pull node docker 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
1
| docker login --username=username registry.cn-hangzhou.aliyuncs.com
|
从Registry中拉取镜像
1
| docker pull registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[镜像版本号]
|
将镜像推送到Registry
1 2 3
| docker login --username=[用户名] registry.cn-hangzhou.aliyuncs.com docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[镜像版本号] docker push registry.cn-hangzhou.aliyuncs.com/xxx/xxx:[镜像版本号]
|
push好慢啊,还得给镜像重命名,算了我还是用DockerHub
吧