一、Linux上安装docker
1.1 配置仓库
安装 config-manager 命令,配置仓库的工具所在工具包
sudo yum install -y yum-utils
配置 repo
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
把 /etc/yum.repos.d/docker-ce.repo 里的 gpgkey 替换成国内(中科大)镜像源
sudo sed -i 's@//download.docker.com@//mirrors.ustc.edu.cn/docker-ce@g' /etc/yum.repos.d/docker-ce.repo
1.2 安装 docker
sudo yum install -y docker-ce docker-ce-cli containerd.io dockerbuildx-plugin docker-compose-plugin
1.3 验证
配置加载
sudo systemctl daemon-reload
启动服务
sudo systemctl start docker
开启启动(视需求添加)
sudo systemctl enable docker
查看服务状态
sudo systemctl status docker
运行 docker
sudo docker run hello-world
运行开发环境压缩包
查看 docker 容器,-a
查看所有包括未运行。
#查看容器
sudo docker ps
sudo docker ps -a
# 查看镜像
sudo docker images
rz
将压缩包传到 linux 机器,docker load
对.tar环境包进行加载。
# 方法一
sudo docker load --input /压缩包位置
# 方法二
sudo docker load -i /压缩包位置
# 方法三
sudo docker load < /压缩包位置
run
和 exec
都可以进入容器:
- run 从镜像中创建并进入一个容器,可以同时运行命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG…] - exec 进入已经打开的容器,可以同时运行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG…] - attach 进入已经打开的容器(除了不能运行命令,功能和exec一样)
docker attach [OPTIONS] CONTAINER - 区别:
- run 可以创建容器。
- 当使用容器结束后输入
exit
退出,以 exec 方式进入的只是退出容器终端,但不会导致容器的停止,需要重新进入的时候只需要使用docker attach [OPTIONS] CONTAINER
。 - 而 run 方式进入的在 exit 命令后会直接退出,需要使用
docker restart [OPTIONS] CONTAINER [CONTAINER...]
将其开启,再 attach 连接。 - 或者在 run 命令后加一个选项
--restart=always
也可以保证不直接退出。
在这个案例中,我们用 run 创建一个由 cppubuntu:2.0 镜像生成的名为 tsqBoost 的容器,并进入,其中 /root/LocalDir(会自动在本地生成文件夹) 为容器中 /ContainerDir 的本地仓库,两边有相同的沙箱环境,都可以操作会自动同步(就像一个简单版的git本地仓库和git仓库,的关系)。
- -p: 可以指定映射端口,选个不常用的即可
- -t: 在新容器内指定一个伪终端或终端。
- -i: 允许你对容器内的标准输入 (STDIN) 进行交互。
- -d: 让容器在后台运行
docker run -it --name tsqBoost -v /root/LocalDir:/ContainerDir -p 8015:22 cppubuntu:2.0
对正在使用中的已有的容器使用 sudo docker ps
可以查看,按如下命令敲入容器 id 或容器名,也可以进入该容器。
docker exec -it e061224769fe /bin/bash