#下載docker
Index of linux/static/stable/
根據電腦的CPU類型選擇:
- Intel和AMD選x86_64
- 飛騰D2000選aarch64
#選擇較新的版本
#在包含下載的docker-XX.X.X.tgz的文件夾中右鍵->打開終端
# 解壓安裝包(根據實際下載的文件)
tar -zxvf docker-XX.X.X.tgz
#進入root賬戶
su – root
輸入密碼
#進入docker-XX.X.X.tgz所在的目錄(我這里是/data/docker)
cd /data/docker
# 移動 Docker 文件
mv docker/* /usr/bin/
#配置docker服務
vim /usr/lib/systemd/system/docker.service
#粘貼以下內容:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
#保存退出
:wq
#啟動docker
systemctl start docker
#確認電腦聯網狀態(ping百度)
# 查看docker狀態
systemctl status docker
# 配置docker下載源
mkdir -p /etc/docker
vim /etc/docker/daemon.json?
#將內容替換為:
{
? "registry-mirrors" : ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://dockerproxy.com",
"https://gst6rzl9.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"http://mirrors.ustc.edu.cn/",
"https://mirrors.tuna.tsinghua.edu.cn/",
"http://mirrors.sohu.com/"
],
?"insecure-registries" : [
??? "registry.docker-cn.com",
??? "docker.mirrors.ustc.edu.cn"
??? ],
"debug": true,
"experimental": false
}
#保存退出
:wq
sudo systemctl daemon-reload
sudo systemctl restart docker
#拉取ubuntu1804鏡像
docker pull ubuntu:18.04
#查看已有的鏡像
docker images
#從鏡像(ubuntu:18.04)創建新容器(命名為ubuntu18),并啟動bash(默認以root運行)
docker run --name ubuntu18 -it ubuntu:18.04 bash
#查看ubuntu版本
cat /etc/issue
#安裝gcc7.5.0
apt update && apt install -y software-properties-common
apt install -y gcc-7 g++-7
#如果上一句報錯,則執行該命令
apt --fix-broken install
#查看gcc版本
gcc-7 -v
#安裝make
apt install make
#安裝vim
apt install vim
#編寫測試代碼
#新建main.c
#設置vi正常顯示中文
vi ~/.vimrc
#粘貼以下內容:
set fileencodings=utf-8,gbk
set termencoding=utf-8
set encoding=utf-8
#保存退出
:wq
#新建makefile文件
vi makefile
#粘貼以下內容:
#定義目標文件名
TARGET = app1
#定義源文件
SRC = main.c
#定義編譯器
CC = gcc-7
#定義編譯選項
CFLAGS = -Wall
#定義目標文件的生成規則
$(TARGET): $(SRC)
?????? $(CC) $(CFLAGS) $^ -o $@
#定義清理規則
clean:
?????? rm -f $(TARGET)
#保存退出
:wq
#執行make生成app1,并運行app1
#########其他命令#########
#打開已有容器(ubuntu18),并進入bash(默認以root運行)
docker start ubuntu18 && docker exec -it ubuntu18 bash
#復制宿主機的文件到容器中(需用root賬號)
#語法:docker cp <宿主機路徑> <容器ID/名稱>:<容器路徑>
docker cp /home/test1/ ubuntu18:/home/
#查看所有容器(正在運行和不在運行)
docker ps -a
#刪除容器
docker rm <容器名>
#容器重命名
docker rename <容器原名> <容器新名>