Docker实践:Centos下安装Docker并简单的使用
1 環(huán)境介紹
?
版本信息:
[root@localhost]#? cat /proc/version
Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016
[root@localhost jenkins]# cat? /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
?
# Centos系統(tǒng)是離線的,但是可以通過代理訪問網(wǎng)絡(luò),否則,就無法pull Image了.
# 查看yum list中是否有docker安裝包:
[root@localhost home]# yum list | grep docker
docker.x86_64????????????????????????????? 2:1.12.6-32.git88a4867.el7.centos
docker-client.x86_64?????????????????????? 2:1.12.6-32.git88a4867.el7.centos
docker-common.x86_64?????????????????????? 2:1.12.6-32.git88a4867.el7.centos
…
[root@localhost home]#
2安裝Docker
# install
sudo yum install -y docker.x86_64
#? yum install docker
?
# 查看docker是否安裝成功
docker --version
?
# 開機(jī)自啟動(dòng), 好像開機(jī)啟動(dòng)并不是很靈
sudo chkconfig docker on
# 查看docker daemon是否在運(yùn)行
ps aux | grep docker
3設(shè)置代理
# following link is to resolve docker-runc not found issue,proxy is not necessary *#
ln -s /usr/libexec/docker/docker-proxy-current /usr/bin/docker-proxy
ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc
?
#停止docker service(設(shè)置代理前,需要停止)
service docker stop
?
# 設(shè)置代理, 成功后,會(huì)自動(dòng)啟動(dòng)docker service
sudo HTTP_PROXY=http://ip:port /usr/bin/dockerd --userland-proxy=false &
4 Docker Service
# 啟動(dòng)Docker Service
# 注: 設(shè)置代理時(shí),Docker Service會(huì)自動(dòng)啟動(dòng)
service docker start
# 或者這種啟動(dòng)方式
systemctl start docker.service
?
#停止docker service(設(shè)置代理前,需要停止)
service docker stop
# 或者這種停止方式
systemctl stop docker.service
?
# 查看服務(wù)狀態(tài)
systemctl status docker.service
?
# 查看docker daemon是否在運(yùn)行
ps aux | grep docker
?
?
5 Image
# 下載Image,? 默認(rèn)從docker.io下載,速度會(huì)比較慢
#?????????? 可以從daocloud.io中下載,速度會(huì)快一些.
# 我在公司, Centos上感覺不明顯, 在家里用ubuntu感覺特別明顯
docker pull centos
?
# 查詢倉庫中的Image
# --automated=false:?????? 僅顯示自動(dòng)創(chuàng)建的鏡像
# --no-trunc=false:?? 不截?cái)囡@示
# -s, --starts=0:??????? 指定星級(jí)以上
docker search -s 10 centos
?
# 查詢本地Image
docker images
?
# 刪除Image
?docker rmi docker.io/Ubuntu
6 運(yùn)行Image
# 運(yùn)行Image
?# 注意: 運(yùn)行Image時(shí), 需要關(guān)閉代理,重啟docker service,
?#????? 否則會(huì)遇到錯(cuò)誤:container_linux.go:247: starting container process caused
?#????? "process_linux.go:334: running prestart hook 1 caused \"error running hook: exit status 1, stdout: , stderr: \""
#????????? /usr/bin/docker-current: Error response from daemon: invalid header field value "oci runtime error:
#????????? container_linux.go:247: starting container process caused \"process_linux.go:334:
#?????????? running prestart hook 1 caused \\\"error running hook: exit status 1, stdout: , stderr: \\\"\"\n".
?
# 方式1
sudo docker? run centos /bin/echo 'Hello World'
# 帶調(diào)試信息
sudo docker --debug=true run centos /bin/echo 'Hello World'
?
?
#方式2
[root@localhost home]# docker create centos
3e8185a9fb586e1b3f12fb1c69c2a22225df1e5505c9315e3b62743d489d2904
?
# 查看容器信息
[root@localhost home]# docker ps -a
CONTAINER ID??????? IMAGE?????????????? COMMAND???????????? CREATED???????????? STATUS????????????? PORTS?????????????? NAMES
3e8185a9fb58??????? centos????????????? "/bin/bash"???????? 5 seconds ago?????? Created???????????????????????????????? gigantic_franklin
[root@localhost home]# docker start 3e8185a9fb58
?
docker run -idt --name pcta-demon matthewx:pcta-matthewx
?
# 進(jìn)入容器
docker attach pcta-demon
?
# 刪除容器
docker rm 3e8185a9fb58
?
7 卸載Docker
#centos卸載
yum list installed | grep docker
yum -y remove docker.x86_64?
yum -y remove docker-client.x86_64?
yum -y remove docker-common.x86_64?
# 如果/var/lib/docker刪除失敗,
# 請(qǐng)使用lsof |grep docker看看有哪些進(jìn)程在使用,kill掉這些進(jìn)程.
# 此處刪除應(yīng)該是刪除pull的image等,所以也可以不刪除.
rm -rf /var/lib/docker
lsof |grep docker
轉(zhuǎn)載于:https://www.cnblogs.com/Rong-/p/7670709.html
總結(jié)
以上是生活随笔為你收集整理的Docker实践:Centos下安装Docker并简单的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。