【Docker】Ubuntu安装docker和docker-compose
国内服务器版
使用shell脚本一键安装docker并配置国内镜像
1.创建一个install-docker.sh文件
touch install-docker.sh # 创建文件
chmod +x ./install-docker.sh # 添加可执行权限
2.粘贴如下命令至install-docker.sh
#!/bin/bash
apt-get update
apt-get install ca-certificates curl
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt -y install docker-ce docker-ce-cli containerd.io
如果遇到权限问题请切换到root用户,或者在命令前面加上sudo
3.运行命令
./install-docker.sh
注:如果运行上面命令出现以下问题
-bash: ./install-docker.sh: /bin/bash^M: bad interpreter: No such file or directory
![]()
通常都是在window下写好的shell脚本,拷贝到linux机器执行 才会出现
原因就是:
windows下每一行的结尾是nr,而在linux下文件的结尾是n
这样window写编辑的shell脚本拷贝到linux下时
每一行的结尾就会多出来一个字符r
这个r字符会被显示为^M
所以就会出现错误提示” /bin/bash^M: bad interpreter: No such file or dire”,
字面意思就是/bin/bash^M: 坏的解释器: 没有那个文件或目录
解决方法:
终端执行
sed -i 's/r$//' filename #flename即shell脚本文件名
这个命令会把以r结束的字符换成空白。
4.测试docker是否安装成功
docker -v
docker run hello-world
![]()
5.设置国内镜像
方法请看【【docker】拉取镜像时环境报错】
6.docker-compose 安装
sudo apt-get install docker-compose -y
docker-compose --version
![]()
国外服务器版
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
sudo usermod -aG docker ${USER}
sudo systemctl status docker
docker -v
docker相关命令
1.创建Docker容器:
docker run -d -p 8080:80 --name TestContainer nginx
在这个例子中,我们正在运行一个新的Docker容器,使用nginx镜像,并将主机的8080端口映射到容器的80端口。
2.列出所有正在运行的Docker容器:
docker ps
3.停止Docker容器:
docker stop TestContainer
在这个例子中,我们正在停止名为TestContainer的Docker容器。
4.删除Docker容器:
docker rm TestContainer
在这个例子中,我们正在删除名为TestContainer的Docker容器。
5.列出所有Docker容器(包括停止的):
docker ps -a
6.创建Docker镜像:
docker build -t my-app .
在这个例子中,我们正在使用当前目录的Dockerfile创建一个新的Docker镜像,并将其标记为my-app。
7.列出所有Docker镜像:
docker images
8.删除Docker镜像:
docker rmi my-app
在这个例子中,我们正在删除名为my-app的Docker镜像。
9.将Docker容器保存为新镜像:
docker commit TestContainer my-app
在这个例子中,我们正在将名为TestContainer的Docker容器保存为一个新的Docker镜像,并将其标记为my-app。
10.将Docker镜像推送到Docker Hub:
docker push my-app
在这个例子中,我们正在将名为my-app的Docker镜像推送到Docker Hub。
11.从Docker Hub拉取Docker镜像:
docker pull my-app
在这个例子中,我们正在从Docker Hub拉取名为my-app的Docker镜像。
注意:在运行这些命令之前,你需要确保Docker已经安装在你的系统上,并且你有权访问Docker Hub(如果你正在推送或拉取镜像)。
12.运行docker
systemctl start docker
13.重启docker
service docker restart
14.停止docker
service docker stop
15.查看docker的版本
sudo docker version
或
docker -v
16.查看docker状态
systemctl status docker


